我有一个 ASP.NET MVC 应用程序。我在我的观点中使用 Razor。由于我的 IT 部门。该应用程序位于相对根目录中,http://ourdomain.com/appRoot而不是像http://ourdomain.com. 这里的另一个挑战是,appRoot不是一成不变的。它实际上发生了变化。因此,我需要通过 Razor 获取相对根的名称。目前,我有如下内容:
<input id="hiddenElem" type="hidden" value="12345" />
<script type='text/javascript'>
function doThis() {
var id = $('#hiddenElem').val();
var nextUrl = '@(Request.?)' + '/path/' + id;
alert(nextUrl);
}
</script>
Run Code Online (Sandbox Code Playgroud)
当doThis被调用时,我想看到要显示的警报窗口/appRoot/path/12345。我在与nextUrl获得相对根相关联的 Razor 块中放入什么?
通常你会使用mvc路由功能Url.Action()。
function doThis() {
var id = $('#hiddenElem').val();
var nextUrl = '@Url.Action("MyAction","MyController")' + '/path/' + id;
alert(nextUrl);
}
Run Code Online (Sandbox Code Playgroud)
该Html.ResolveUrl()函数适用于解析相对路径,但它不考虑路由。
此外,使用该Url.Content()函数可能会产生您期望的结果。例如,在下面的代码段中:
.Template("<img src='"+ @Url.Content("~/Images/Icons/16/STATE.png")+"'/> <mark>${data.StateName }</mark>");
Run Code Online (Sandbox Code Playgroud)
无论您从何处调用图像或如何使用根访问视图,图像都将始终解析。
| 归档时间: |
|
| 查看次数: |
4988 次 |
| 最近记录: |