将Model和额外参数从View传递到Controller Razor MVC3

Passing Model and extra parameters from View to Controller Razor MVC3

本文关键字:Controller MVC3 Razor View Model 参数      更新时间:2023-09-26

我有一个视图,其中有一个包含多个字段的表单,这就是我的视图模型。我想列出一个链接列表(用于寻呼机),当我单击某个页面时,它会以表单+页面的形式发送输入数据。我有以下javascript代码,我将其作为OnClick操作绑定到页面链接:

function SearchCriteria() {
    this.OrderNumber = "";
    this.CustomerNumber = "";
    this.FirstName = "";
    this.LastName = "";
    this.Login = "";
    this.Company = "";
    this.Country = "";
}
function sendModel(page) {
    var myModel = new SearchCriteria();
    var PostData = JSON.stringify(myModel);
    $.post('@Url.Action("ShowCustomers","Home")', PostData);
}

问题是,当我点击其中一个页码时,什么都不会发生。就好像没有调用脚本一样。

将函数绑定到链接的代码:

<a class="@(i == ViewBag.CurrentPage ? "current" : "")" onclick="sendModel(@i)" href="#">@(innerContent ?? i.ToString())</a> 

这个绑定代码在每个页面的循环中,因此"i"对应于为其创建链接的页面。

按照您的方式,这些值被POST到ShowCustomers操作方法,但不会对返回的值执行任何操作。

如果ShowCustomers()返回JSON或HTML,则需要显示以下信息:

$.post('@Url.Action("ShowCustomers","Home")', PostData,
      function(data)
      {
        $('#results') = data;
      });