ca9*_*3d9 7 jquery asp.net-mvc-3
网址是http://localhost:52974/App/Detail/23432.我知道以下代码可以获取ID(23432),它可以在嵌入在cshtml文件中的javascript代码中使用.
@ViewContext.RouteData.Values["id"]
Run Code Online (Sandbox Code Playgroud)
但是,我有一个处理document.ready函数的外部jQuery脚本文件.以下方法不起作用,因为它不是cshtml文件.除了使用javascript解析URL之外,获取MVC路由ID值的最佳方法是什么?
$(document).ready(function () {
var id = @ViewContext.RouteData.Values["id"];
Run Code Online (Sandbox Code Playgroud)
red*_*are 10
我将获得视图以呈现一个脚本标记,该标记将调用外部js中的init函数调用,并将id作为param传递.
视图:
<script>
app.init('@ViewContext.RouteData.Values["id"]');
</script>
Run Code Online (Sandbox Code Playgroud)
外部js:
var app = {};
(function(app){
var _id;
app.init = function(id){
_id = id;
}
})(app);
Run Code Online (Sandbox Code Playgroud)
您可以将值存储在视图中的隐藏输入字段中;
<input type="hidden" value='@ViewContext.RouteData.Values["id"]' id="routeDataId />
Run Code Online (Sandbox Code Playgroud)
然后在你的jQuery脚本中;
$(document).ready(function() {
var id = $('#routeDataId').val();
// The rest of your script
});
Run Code Online (Sandbox Code Playgroud)
然后你也可以从你的外部脚本访问ID :)