0

Html.RadioButton()HTMLヘルパーで生成されたラジオボタンの値を、タイプとして構造体を持つフィールドにバインドするにはどうすればよいですか?

抽象度が低い:

CommonProject.Services.SearchBag.Effects:

public enum Effects
{
    Any,
    Solid,
    Effect
}

強く型付けされたViewDataの場合:

public class SearchBag{    
    public Effects EffectIndicator { get; set; }
}

そして私の見解では(これは実際には機能しません):

<%=Html.RadioButton("SearchBag.EffectIndicator", "Any", ViewData.Model.SearchBag.EffectIndicatorIsAny, new { @id = "SearchBag.EffectIndicatorAny" })%>

UPDATE
一度は機能するようです。
最初は必要に応じてラジオボタンを作成し、値を変更してポストバックすると、値が正しくバインドされます。次に、ページを再生成すると、ボタンのすべての値が前に選択した値に設定されます。

4

1 に答える 1

1

View データ クラスとして SearchBag を使用して View が厳密に型指定されている場合は、次の行に沿って何かを実行できるはずです。

<%= Html.RadioButtonFor(model => model.EffectIndicator, "Any", new { @id = "SearchBag.EffectIndicatorAny" }) %>

次に、View フォームが Controller に送信されると、次のようになります。

public class MyController : Controller
{
    public ActionResult MyActionMethod(SearchBag searchBag)
    {
        Effects selectedEffect = searchBag.EffectIndicator;
    }
}

それは役に立ちますか?

于 2010-11-19T22:49:40.857 に答える