簡體   English   中英

帶有枚舉的MVC3 RadioButtonFor

[英]MVC3 RadioButtonFor with enum

我遇到了HtmlHelper,RadioButtonFor和我模型中的枚舉問題。 我有一個強類型視圖,我希望復選框切換我的枚舉屬性。

Enum.cs

public enum Values{
    Value1,
    Value2
}

Model.cs

public class Model{
    public Values MyProp{ get; set; }
;

View.cshtml

@Html.RadioButtonFor(model => model.MyPropi, Values.Values1)

Controller.cs
public ActionResult WizardFirstStep()
{
    var model = new Model();
    return View(model);
}

如果我在控制器中設置MyProperty值,則按預期檢查RadioButton。 但是在發送到下一個向導步驟后,將模型作為參數,該屬性未設置。

如果它能幫助你理解我的意思:如果它是C#和WPF我將使用IValueConverter。

順便說一句:我使用HtmlHelper.ActionLink將模型送到控制器。

提前致謝

嘗試這個,它應該工作,因為我之前做過同樣的事情:

@Html.RadioButtonFor(model => model.MyProp, (int)Values.Values1, model.MyProp == Values.Values1)

注意轉換為int ,它確保正確的值用於html。

編輯 :對不起,我認為您還需要第三個參數,以確保加載視圖時設置正確的單選按鈕。

我還假設MyPropi是一個拼寫錯誤並將其更改為MyProp ,請確保在您的最后匹配正確

任何不便敬請諒解。 在這里發布后,我很快找到了解決方案。 我的ActionLink沒有提交@ Html.BeginForm表單。 所以我將我的radiobutton改為:

@Html.RadioButtonFor(model => model.MyPropi, Values.Values1, new{ onClick = "this.form.submit();" })

它將正確的值提交給我的控制器。 目前這沒關系。 也許ActionLink可以回發表單數據。

對於Aspx頁面:<%:Html.RadioButtonFor(m => m.YourProp,您的枚舉的選定值,如:demo1.enum1.value2)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM