2013-08-19 87 views
0

我有一个视图,其中有几个字段,这是我的视图模型的形式。我想列出一个链接列表(对于一个寻呼机),当我点击某个页面时,它会以+页面的形式发送输入数据。我有以下的javascript代码,这是我绑定到页面的链接,一个onclick动作:从视图传递模型和额外的参数到控制器剃须刀MVC3

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”对应于其中创建链接的页面。

+0

你可以发布你正在使用生成的链接代码,或者链接和jQuery的产生的HTML您正在使用的代码将点击事件绑定到链接?问题可能在于绑定。 –

+0

@ QuetiM.Porta,我用你想要的信息更新了这个问题:) –

+0

.cshtml文件或.js文件中的sendModel()方法是什么? –

回答

0

你有它的方式,该值被发布到ShowCustomers操作方法,但都没有做什么返回值什么。

如果ShowCustomers()正在返回JSON或HTML,那么你需要显示这些信息:

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

那么,操作方法只返回一个视图,没有任何数据,那我该怎么做呢? (表格显示由服务器处理) –

+0

如果它仅返回结果,则只需将当前显示结果的页面部分替换为返回结果(基本上是我拥有的代码)。否则,如果它返回整个页面,那么我会建议您不要使用ajax方法,而是使用javascript创建一个包含所有参数的链接,并简单地将用户重定向到该页面。 –

相关问题