2013-08-19 70 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創建一個包含所有參數的鏈接,並簡單地將用戶重定向到該頁面。 –

相關問題