2017-08-16 68 views
0

我的問題是關於上市產品列表。我有一個我創建的類別列表複選框。 單擊複選框時,必須根據複選框列出產品列表。 我嘗試過使用json和ajax,但我沒有做到。 有什麼想法嗎?上市產品列表點擊複選框來自數據庫

example

+0

AJAX絕對是要走的路。調用接收產品類別作爲參數的操作,並使用產品列表呈現局部視圖。在AJAX成功處理程序中,將生成的HTML插入到DOM中。顯示你到目前爲止所嘗試的,以便我們給你更具體的幫助。 –

+0

你創建了一個ajax調用,它將把所有的過濾器發送到你的api,api將得到過濾器並相應地獲取數據,並且你得到結果並將它綁定到你的視圖 – Munzer

回答

0

你的意思是從cheeckbox傳遞值在視圖控制器?

您可以使用Ajax進行此操作; 將複選框插入表單元素,並設置形式的Id屬性,如「FormId」;

而html;

<form id="FormId"> 

<input id="checkBox" type="checkbox" name="Data"> 
<button onclick="Submit()"> Submit</button> 
</form> 

在控制器中;

public class HomeController : Controller 
{ 

    [HttpPost] 
    public ActionResult Index(var Data) 
    { 
     //your code here 
     return Json("OK", JsonRequestBehavior.AllowGet); 
    } 

通知在複選框name屬性具有在控制器Index方法的輸入參數相同的值。您可以傳遞各種數據而不考慮數據類型,將Ajax的序列化方法應用於控制器中的方法,只要name屬性和Index方法的輸入具有相同的值,它就會捕獲正確的數據。

如果您只想傳遞單個數據,只需在js代碼中獲取.val中某個表單元素的值;

function Submit() {   
    $.ajax({ 
    url: "/Home/Index", 
    type: "POST", 
    data: $("checkBox").val(), 
    success: function (result) { 
     if (result == "OK") { 
      $('#FormId').html("Successful"); 
     } 

而且還通知在AJAX功能POST類型,這意味着你應該把[HttpPost]屬性在控制器中Index方法。在你共享的屏幕截圖中,你使用GET方法調用ajax方法,但在控制器中使用[HttpPost]屬性接收它,這不會起作用。

相關問題