Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 基于url路由mvc 3的脚本标记条件变更_Javascript_Asp.net Mvc 3_Asp.net Mvc Routing_Requirejs - Fatal编程技术网

Javascript 基于url路由mvc 3的脚本标记条件变更

Javascript 基于url路由mvc 3的脚本标记条件变更,javascript,asp.net-mvc-3,asp.net-mvc-routing,requirejs,Javascript,Asp.net Mvc 3,Asp.net Mvc Routing,Requirejs,我正在为我的混合应用程序使用requireJS。现在,我需要根据url上的条件更改位于布局页面中的脚本标记。脚本标记看起来像这样 <script data-main="@Url.Content("~/Scripts/main")" src="@Url.Content("~/Scripts/Libs/Requirejs/require.min.js")" type="text/javascript"></script> 同样,当我加载页面/Mail/Index时,上面的脚

我正在为我的混合应用程序使用requireJS。现在,我需要根据url上的条件更改位于布局页面中的脚本标记。脚本标记看起来像这样

<script data-main="@Url.Content("~/Scripts/main")" src="@Url.Content("~/Scripts/Libs/Requirejs/require.min.js")" type="text/javascript"></script>
同样,当我加载页面
/Mail/Index
时,上面的脚本标记应该更改为

<script data-main="@Url.Content("~/Scripts/mail")" src="@Url.Content("~/Scripts/Libs/Requirejs/require.min.js")" type="text/javascript"></script>


现在请注意,这三个页面都使用相同的
**\u Layout.cshtml**
页面。并且上面的脚本标记仅位于
**\u Layout.cshtml**
页面中。现在,我如何跟踪这些脚本,以便在更改上述Url路由时更改脚本标记

我只想用一个部分来做这个。在布局页面中:

@RenderSection("RequireScripts")
并将脚本放在每页中:

@section RequireScripts {
    <script data-main="@Url.Content("~/Scripts/main")" src="@Url.Content("~/Scripts/Libs/Requirejs/require.min.js")" type="text/javascript"></script>
}
然后脚本块将输出到定义
RequireScript
的页面

@{
    Page.RequireScript = "Libs/Requirejs/require.min.js";
}

谢谢,第二个解决方案似乎更优雅。但有两个问题。在
中是
@Page。Requirescript
是一个变量还是Mvc特性本身?第二个问题是,我是否可以使用该部分中的任何变量,这些变量可能导致从子页面呈现为
数据主属性
属性?@Joy这是一个变量,而不是MVC本身的功能<代码>页面是一个动态对象,因此您可以将任何想要的属性放入其中。关于你的第二个问题,我不太明白,你介意重新措辞吗?没关系。我得到了我想要的。你的回答给出了我真正需要的观点:)谢谢兄弟:)
@if (Page.RequireScript != null)
{
    <script src='~/Scripts/@Page.RequireScript'></script>
}
@{
    Page.RequireScript = "Libs/Requirejs/require.min.js";
}