2009-12-16 42 views
0

這與我昨天發佈的關於CheckBoxes的問題密切相關。ASP.Net MVC將數據庫字符串傳遞給CheckBox值

這裏是我的設置:

  • 我有一個數據庫目錄,其名稱,其他領域中的一個列表,我的模型。

  • 我有一個搜索頁面,用戶可以搜索此目錄並選擇一個名稱。

  • 我有一個表單頁面,用它旁邊的複選框顯示名稱,它允許用戶決定他們是否要在提交的表單中包含該名稱作爲值。

  • 處理提交表單的控制器。

目標:

我想知道的是,我怎麼可以得到在該目錄中選擇要在表單頁面查看兩個顯示名稱的字符串值,還包括本在CheckBox的值字段中的字符串?

+0

與複選框一致有關這些名字,或者他們動態生成的? – Jacob 2009-12-16 19:27:41

回答

-1

您不能更改選中複選框的值;複選框始終會以「on」作爲其值(如果選中)發佈,MVC可以使用它自動將發佈的值映射到布爾值。但是,如果此名稱列表是動態的,並且每個名稱都是唯一的,則可以使用動態命名複選框生成表單。然後,在控制器中,您可以檢查原始表單以查看檢查了哪些名稱。例如,在視圖中,你的代碼可能是這個樣子:

<form> 
    <% /* Some loop here */ { %> 
    <input type="checkbox" name="name_<%= Html.Encode(theName) %>" /> 
    <label><%= Html.Encode(theName) %></label> 
    <% } %> 
</form> 

然後,控制器:

foreach (string name in listOfAvailableNames) 
{ 
    if (Request.Form["name_" + name] == "on") 
    { 
     // Handle the name being selected 
    } 
    else 
    { 
     // Handle the name not being selected 
    } 
} 
+0

無論如何投票,請解釋原因。 – Jacob 2010-04-23 21:19:48

相關問題