2016-01-14 46 views
-1

我怎樣才能獲得布爾值,或真或使用從控制器到視圖一個複選框假的:MVC 4 asp.net C#從控制器傳遞布爾值,以查看

@Html.CheckBox("condition", @ViewData["Condition"]) 

<input type = "checkbox" checked = "**true or false?**"> 

我在控制器有這個..

public ActionResult Member(string sortOrder, string filter, string searchString, int? page, **bool? condition = false**) 

和我的看法是這樣的

請幫助我,這...

+1

它只是需要'@ Html.CheckBox( 「條件」)',參數必須是'布爾condition'(不'nullable')。如果'condition'的值爲true,則複選框將顯示爲選中狀態,否則它將被取消選中。但我建議你使用視圖模型並將其傳遞給視圖,以便您可以使用強類型的HtmlHelper - '@ Html.CheckBoxFor(m => m.Condition)' –

+0

'checked'是bool屬性。這僅僅是存在確保輸入被檢查。所以你不想'檢查=任何東西',如果是假的,因爲它不應該在那裏,即非檢查複選框將是'',而'會像勾選方框那樣勾選,'如果'checked'屬性存在,它將被檢查而不管值是什麼。 – rism

回答

0

更新您的控制器

public ActionResult Member(string sortOrder, string filter, string searchString, int? page,bool condition) 
{ 
    ViewData["Condition"] = condition; 
    // code line 1 
    // code line 2 
     ... 
} 

如果您正在尋找複選框檢查/爲Razor視圖取消選中代碼

@Html.EditorFor(x => x.condition) 

會生成:

<input id="condition" type="checkbox" value="true" name="condition" /> 
<input type="hidden" value="false" name="condition" /> 

如何doe s時,有工作:

如果複選框未選中,形成只提交隱藏的(假) 如果選中,然後提交表單兩個字段(假,真)和MVC設定布爾屬性

<input id="condition" name="condition" type="checkbox" value="@ViewData["Condition"]" /> 

這將真總是發送默認值,如果選中

參考:https://stackoverflow.com/a/14731571/2318852

+0

+0

它會自動管理這個。 –

相關問題