在我的项目中,我需要在单击按钮时传递值部分值。 所以我就这样试了
<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函数有什么问题?
这个 url 声明在.NET fiddle中签入时语法错误:
url
var url = '@Url.Action("ResultGrid", "User")', new { xEdit : ViewData["Form"] }; // ^ Syntax error: Unexpected token 'new'
正确的方法是将路由值参数包装在 UrlHelper.Action 帮手:
UrlHelper.Action
var url = '@Url.Action("ResultGrid", "User", new { xEdit = ViewData["Form"] })';
如果从客户端变量传递的值为:
var viewData = '@ViewData["Form"]'; var url = '@Url.Action("ResultGrid", "User")?xEdit=' + viewData;
两种方法都会生成如下示例所示的url( ViewData["Form"] 必须是纯数字或字符串值):
ViewData["Form"]
/User/ResultGrid?xEdit=someValue