作成方法少数のラジオボックスASP.NET MVC?
-
21-08-2019 - |
質問
え:(簡単な質問* チーク *
きを想像して以下に列挙:-
string[] languages = new string[]
{
"en (uk)", // English (colour)
"en (us)", // English (color)
"fr", // French
"es" // Spanish
};
ViewData["Languages"] = languages;
ViewData["UserLanguage"] = "en (uk)";
この、あなたは何点ぐらいになると思表示されるようラジオボタンに見られていますか?はないというこの列挙を通じてすべての言語の価値を描画するRadioBox?
例えば.pseduo-コー---
<% foreach(string language in ViewData["Languages"] as string[])
{
response.write Html.RadioBox(... not sure what to set in here ...)
}%>
感謝!
解決
速や汚:
<% foreach(string language in ViewData["Languages"] as string[]) { %>
<%= Html.RadioBox(language,language,language == ViewData["UserLanguage"].ToString()) %>
<% } %>
問題は、いじ伝承のモンスターでも独自解釈の魔法の文字列がviewdata.んかのようになります:
クラスを作成する:UserForm
class UserForm { IList<string> _languages; string _selectedL; public UserForm (IList<string> languages, string selectedLanguage) { _languages = languages; _selectedL = selectedLanguage; } IEnumerable<SelectedListItem> UserLanguages { get { return from l in _languages select new SelectedListItem { Text = l, Value = l, Selected = (l == _selectedL) }; } } }
のべき強く型付けされたときのタイプ:UserForm その描画のように:
<%= Html.RadioButtonList("userLanguages",ViewData.Model.UserLanguages) %>
コントローラからす:
return View(new UserForm(listOfLanguages, selectedLanguage));
HTH.
編集:
OK、この RadioButtonList
拡張した方法に Microsoft.Web.Mvc
名前空間のMVCFuturesプロジェクト)-まちでない方はこちらから: MVCFutures
所属していません StackOverflow