ASP.net Razor MVC 获取 URL 并将其放在 javascript 标签内
ASP.net Razor MVC get URL and place it within javascript tags
嘿,我的 Razor cshtml 页面中有以下代码:
<script type="text/javascript">
@{<text>var ajaxDirPath = </text>Url.Content("~/") + ViewContext.RouteData.Values["controller"].ToString() + <text>';</text>}
</script>
目前我在 ..("~/") ViewContex... 上有一个错误代码说:
Invalid expression term 'if'
; expected
我尝试了很多方法,但似乎没有任何效果。格式化它的正确方法是什么,所以它像这样出现:
var ajaxDirPath = '/baseName/viewName/';
终于明白了:)
<script type="text/javascript">
@{<text>var ajaxDirPath = '@Url.Content("~/")@ViewContext.RouteData.Values["controller"].ToString()/';</text>}
</script>
我认为有一种更简洁的方法可以完成您在上面的回答中描述的内容。
将此代码添加到您的视图中
@{
var path = $"/{ViewContext.RouteData.Values["controller"]}/{ViewContext.RouteData.Values["action"]}";
}
然后在您视图的脚本部分
<script type="text/javascript">
var ajaxdirpath = '@path';
</script>
这为您提供了您正在寻找的 /"controller"/"action",并且不会弄乱您的 javascript。您可以将 razor 语法的那部分与任何其他变量声明一起移到上面,这样它们就可以保持在一起。
嘿,我的 Razor cshtml 页面中有以下代码:
<script type="text/javascript">
@{<text>var ajaxDirPath = </text>Url.Content("~/") + ViewContext.RouteData.Values["controller"].ToString() + <text>';</text>}
</script>
目前我在 ..("~/")
Invalid expression term 'if'
; expected
我尝试了很多方法,但似乎没有任何效果。格式化它的正确方法是什么,所以它像这样出现:
var ajaxDirPath = '/baseName/viewName/';
终于明白了:)
<script type="text/javascript">
@{<text>var ajaxDirPath = '@Url.Content("~/")@ViewContext.RouteData.Values["controller"].ToString()/';</text>}
</script>
我认为有一种更简洁的方法可以完成您在上面的回答中描述的内容。
将此代码添加到您的视图中
@{
var path = $"/{ViewContext.RouteData.Values["controller"]}/{ViewContext.RouteData.Values["action"]}";
}
然后在您视图的脚本部分
<script type="text/javascript">
var ajaxdirpath = '@path';
</script>
这为您提供了您正在寻找的 /"controller"/"action",并且不会弄乱您的 javascript。您可以将 razor 语法的那部分与任何其他变量声明一起移到上面,这样它们就可以保持在一起。