2012-03-09 3 views
1

申し訳ありませんので、こちらです。私はSystem.Linq.Expressions.Expressionからカスタムドロップダウンボックスを作成したいと考えています。 DropDownListForのようなヘルパーがあることは知っていますが、最初から作成する方法や、式から値などを引き出す方法がわかりません。c#mvcからhtmlへの表現

基本的に、なぜ私はこれをやっているあなたはDropDownListForを使用している場合、それはvalueだが、私は代わりにそれのテキストに基づいてオプションを「選択」したい基づいて<option>を「選択」しますされています。ですから、誰かがそれをどうやって行うのか考えているなら、それは素晴らしいでしょう。

これは私がこれまで

public static MvcHtmlString ValidatedEditableDropDownListFor<TModel,TProperty>(
     this HtmlHelper<TModel> htmlHelper, 
     Expression<Func<TModel, TProperty>> expression, 
     SelectList list, 
     String defaultOption, 
     Object attribs) 
{ 
    //Basically puts the strings into a html template<div>{0}{1}</div> etc. 
    return GetValidatedHtml(
     htmlHelper.LabelFor(expression).ToString() , 
     htmlHelper.DropDownListFor(expression , list , defaultOption , attribs).ToString() 
     ,htmlHelper.GetValidatedErrorMessage(expression),false,"EditableDropDown"); 
} 

私はDropDownListFor<option>を選択させる、またはExpressionSelectListに基づいて自分自身のhtml要素を作成する方法を持つことができる方法上の任意のアイデアが大幅だろうしているものを、本質的です感謝。

ありがとうございました。

答えて

0

私のフォームは1つのビューである、と私はバックビューにモデルを渡す...ということをやっているので、それによって選択された正しいものは、あなたのコントローラ

+0

からテキストだとなぜ、あなたのビューにSelectedListItemsのリストを渡しません私は基本的にビューをクローンし、それらの特殊なケースを作成する必要があります。