2014-02-26 80 views
2

我正在ASP.net MVC上開發一個項目。通過ajax將複選框複選到控制器

我有一個html格式的一些複選框說A,B,C,D & E和 我通過ajax發佈表單到其中一個控制器。

我想清楚地確定是否從控制器檢查每個複選框,並根據所選的複選框值執行某些操作。

我想知道最佳實踐來實現這一目標。

P.S:我會將選中的複選框值傳遞給底層的DAL。

+0

我認爲這個問題需要開發一個項目|| POC –

+0

您可以從控制器發送值以查看使用ViewBag並查看ViewBag是否爲null並執行任何您想要的操作。 – monu

+0

@ Ramesh Rajendran – Shanky

回答

2

你可以用很多方式做到這一點。這裏我使用一個模型對象

讓我們假設給人一種樣品idea-

,你必須在服務器端模式「CheckBoxValues」同場

public class CheckBoxValues 
{ 
    public Boolean A { get; set; } 
    public Boolean B { get; set; } 
} 

在你的HTML頁面,使用代碼從按鈕上的複選框值,單擊handler-

var values= {}; 
var StateOfCheckBoxA = $('#CheckBoxA').is(':checked'); 
values.A= StateOfCheckBoxA ; 
var StateOfCheckBoxB = $('#CheckBoxB').is(':checked'); 
values.B= StateOfCheckBoxB; 

var SubmitURL = YourController/ActionMethod/ 


      $.ajax({ 
       type: "POST", 
       url: SubmitURL, 
       data: values, 
       dataType: 'json', 

       beforeSend: function() { 

       }, 
       success: function (result) { 

       }, 
       error: function (request, status, error) { 

       }, 
       complete: function() { 

       } 
      }); 

現在你actionmethod

public JsonResult Create(CheckBoxValues values) 
{ 
     Boolean checkboxA=values.A; 
     Boolean checkboxB=values.B; 
} 

希望這會對你有幫助。

+0

這就是我正在尋找的。我想有一個方法沒有使用CheckBoxValues模型。可能只是從窗體傳遞給控制器​​的螞蟻整數值。因爲我的邏輯層是一個獨立的項目,我不能在那裏使用這個模型。 – Shanky

+0

你可以使用上面的代碼,只需將ajax類型更改爲「GET」並向url添加查詢字符串,另外還需要添加服務器端代碼來處理這些新信息。 – knightsb

+0

@Shanky,你可以用相同的方式發送一個整數數組,而無需使用任何模型。 –