2012-08-03 152 views
1

我在我的視圖中有一個表單page.it包含5個文本框,一個搜索按鈕。用戶在文本框中輸入值(輸入所有字段不是必需的),然後單擊搜索按鈕,我必須將其存儲在數組中並將其傳遞給控制器​​,並且根據搜索結果,我必須顯示搜索結果。將數組值從視圖傳遞給控制器​​使用ajax

我能夠將搜索到的值存儲在數組中,現在我想如何將此數組傳遞給控制器​​以及如何在控制器中訪問這些值。

+0

將表單動作指向您的控制器的一個動作。 – jose 2012-08-03 10:54:06

+0

感謝您的答覆,如何將這些數組值從視圖傳遞到控制器 – steve 2012-08-03 10:56:51

回答

0

使用ajax。如果jQuery是一個選項,你可以寫這樣的事情

$(form).submit(function() 
{ 
    var ; 
    $.ajax({ 
     type: "POST", 
     url: "/Controller/Action", 
     data: JSON.stringify(_yourArrayObject), 
     success: function(data){ 
      alert(data.Result); 
     }, 
     dataType: "json" 
    }); 
}) 
1

何塞稱,您的要求可能是這樣的:

$("#submit").click(function() { 
     var searchData = new Array(); 
     $(".search-input").each(function() { 
      searchData.push($(this).attr('value')); 
     }); 

     $.ajax({ 
      type: "POST", 
      url: "/Home/Index", 
      data: {"searchData" : searchData}, 
      success: function (data) { 
       // do something on success 
      }, 
      traditional: true, 
      dataType: "json" 
     }); 
     return false; 
    }); 

和你的控制器動作可能是:

[AcceptVerbs(HttpVerbs.Post)] 
    public ActionResult Index([Bind(Prefix="searchData")] List<string> searchData) 
    { 
     return Index(); 
    } 

和你的表格必須有這樣的標記:

<form id="myform"> 
     <input type="text" class='search-input' /> 
     <input type="text" class='search-input' /> 
     <input type="text" class='search-input' /> 
     <input type="text" class='search-input' /> 
     <input type="submit" id="submit" /> 
</form> 
+0

我已經以這種方式實現了,我在我的控制器中使用了foreach循環來輸入值爲空或不是。當我在文本框中輸入一個值並且點擊搜索按鈕,在foreach按鈕處拋出NullReference Exception。 – steve 2012-08-03 11:37:01

+0

我編輯了code.it工程100%perfect.please檢查。 – 2012-08-03 13:55:51

+0

不要忘記標記爲答案,如果是的話。 – 2012-08-17 05:55:45

相關問題