SelectListItemのSelectedプロパティをリセットします。私は、そのうちの一つは、それが選択プロパティが「真」に設定されていていてIEnumerable < SelectListItem>を作成します。しかし、次のメソッドに渡すとSelectedプロパティが「false」にリセットされ、ドロップダウンコントロールに適切な項目が選択されません。SelectExtensions.DropDownListはSelectExtensionのDropDownListのメソッドを使用しているとき、私は奇妙な行動を発見した
のpublic static MvcHtmlStringのDropDownList(このHtmlHelperのHtmlHelperの、文字列名、IEnumerableをSelectListの);
私もSelectListのクラスを使用してみましたし、SelectedValueのプロパティを指定したが、依然として適切<オプション>タグが選択されていないしています。
私が選択した値を維持する方法を上の任意のアイデア?
はHACKを書きましたが、以下SOLUTION
を好むだろうMVCから放出されたHTMLを使用する前に選択したオプションを変更するためのコードハックです。私はこの解決策が嫌いですが、それについて他にどのように進むべきかわかりません。
// the following is a hack due to a precived MVC 3 bug
var html = SelectExtensions.DropDownList(helper, propertyName, source).ToHtmlString();
html = html.Replace("selected=\"selected\"", string.Empty);
html = html.Replace(string.Format("value=\"{0}\"", source.SelectedValue), string.Format("value=\"{0}\" selected=\"selected\"", source.SelectedValue));
はどのようにこのヘルパーを使用していますか?あなたのモデル構造、コントローラー、そしてあなたの問題をもっとよく見せるアクションからなる完全な例を表示してください。現在あなたの質問は私には厳密には意味をなさない。 –