私は、部分ビューに基づいて動的フォームを構築しています。私のビューは単一のプロパティーを持つモデルを継承します:CatalogName { get; set; }
。@ Html.Labelは文字列連結を許可しません
私が試してみましたこの:
@Html.Label(Model.CatalogName + "-ProductNumber", "Product Number")
@Html.TextBox(Model.CatalogName + "-ProductNumber")
HTMLとはいえ、このようにレンダリング:
<label for>Product Number</label>
<input name="CatatalogName-ProductNumber" type="text" />
私はこのような私のコード記述する場合:
@Html.Label("ProductNumber-" + Model.CatalogName", "Product Number")
は、それが道をレンダリングしますが私は期待している
<label for="ProductNumber-CatalogName">Product Number</label>
これはMVCのバグですか?私の連結が私がそれをラベルの中で望んでいるようにうまくいかない理由について何か答えがありますか?TextBoxでうまくいきますか?
私のモデルは次のようになります。
public class Product
{
public string CatalogName { get; set; }
}
私の部分図は、モデルを継承します。
return PartialView("_webForm", Models.Product { CatalogName = "CatalogName"});
それが表示され、あなたのコードに基づいて、 '@htmlこと:ここで
は、@ Html.Labelのすべてのメソッドを呼び出すコードです。TextBox() 'は' id'属性を出力しません。これは 'for'が使うものです。これは、MVC(RC2私は思う)の最新バージョンの問題ではないようです - どのバージョンを使用していますか? – Buildstarted
素晴らしいアイコンbtw、私の好きなゲームシリーズの1つ:) – Buildstarted
私はMVC 3 RC2を使用しています。私は自分のIDが出力されていないことに気がつかなかったが、あなたは正しい。文字列 "ProductNumber"を指定すると、idとnameの両方が存在します。 ラベルやテキストボックスを動的な値で追加し、正しく挿入できるようにしましたか? – MrGrigg