在我的项目中,我需要在单击按钮时传递部分值的值。 所以我尝试了这样
<div id="searchgrid" class="col-lg-12">
@Html.Partial("ResultGrid", new List<SCM_MVC.Models.User>(),
new ViewDataDictionary(this.ViewData) { { "index" , xEdit } })
</div>
<script src="~/assets/js/jquery-1.10.2.js"></script>
<script>
var url = '@Url.Action("ResultGrid", "User")', new { xEdit : ViewData["Form"] };
$('#btnloadgrid').click(function () {
$('#searchgrid').load(url);
})
</script>
打开时查看其工作情况。但是单击按钮不起作用。 jQuery函数在做什么错了?
答案 0 :(得分:1)
在.NET小提琴中检查时,url
声明在语法上是错误的:
var url = '@Url.Action("ResultGrid", "User")', new { xEdit : ViewData["Form"] };
// ^ Syntax error: Unexpected token 'new'
正确的方法是在UrlHelper.Action
帮助器中包装路由值参数:
var url = '@Url.Action("ResultGrid", "User", new { xEdit = ViewData["Form"] })';
或者如果从客户端变量传递值,则使用老式查询字符串:
var viewData = '@ViewData["Form"]';
var url = '@Url.Action("ResultGrid", "User")?xEdit=' + viewData;
两种方式都可以产生网址,如下例所示(ViewData["Form"]
必须类似于纯数字或字符串值):
/User/ResultGrid?xEdit=someValue