2011-02-02 3 views
0
<%= Html.TextBoxFor(m => m.STPData.ProjectName, new { @class = "economicTextBox", disabled="disabled", propertyName = "STPData.ProjectName", onchange = "UpdateField(this);" })%> 

私はLabelForに直接変更するだけで、適切な量のパラメータがないために私に怒鳴ります。それから、もし私が長い第二パラームをそこから外したら、それはフロントエンドに正しい文字列を表示しません。TextBoxForをLabelForに変換する

このTextBoxからラベルを作成する正しい方法は何ですか?

答えて

0

LabelForは、フレンドリテキストに入れるためにプロパティに対して属性を定義する必要があります。 [DisplayName("YOUr friendlyname goes here")](以下の例):あなたが属性を追加する必要があり、あなたのSTPData.ProjectName財産でそう

public class STPData 
{ 
    [DisplayName("Name For Project")] 
    public string ProjectName {get;set;} 
} 

ですから、表示名が使用されている

<%= Html.LabelFor(m => m.STPData.ProjectName) %> 

を呼び出します。

また、.Label(を使用して、添付するコントロールとその方法で表示するテキストを定義することもできます。

+0

フレンドリーな名前の属性で、私はthis.ProjectNameのようなことをすることができますか?それともうまくいかないでしょうか。私はそれをそのプロパティのラベルではなく、実際のプロジェクト名のラベルにしたい。ええと? – slandau

+0

ああ、あなたのためにラベルを使いたくない。 '<%= Html.Encode(Model.STPData.ProjectName)%>'はあなたが見る必要があります。 MVCのラベルは、正常に動作するためには常にコントロールに関連付けられている必要があります。 –

+0

ありがとうございました!感謝します。 – slandau

関連する問題