2

これは私の見解です:

@using (Html.BeginForm())
{
    @Html.ValidationSummary()            
    @Html.EditorForModel()

    <input type="submit" value="@Resources.Main.Save" />         
}

これは私のビューモデルです

 public class ContentPagePresViewModel
    {
        [HiddenInput(DisplayValue = false)]
        public Guid Id { get; set; }


        /// <summary>
        /// Contenu de la page
        /// </summary>
        [Display(Name = "¨Presentation")]
        [DataType(DataType.Html)]
        [AllowHtml]
        /*[Required(ErrorMessage = "ContentPage_PageContent_Required")]*/

        public virtual string Description { get; set; }
}

Description プロパティ用に生成された ID が "Description" にならないようにしたいです。どうすればいいですか?

4

1 に答える 1

1

UIHintこれは、この属性をカスタム エディター テンプレートと組み合わせて使用​​することで実行できます。

モデルを変更してUIHint属性を追加します。

[UIHint("Description")]
public virtual string Description { get; set; }

特定のビューのフォルダーに、 という名前の新しいフォルダーを作成しますEditorTemplates。Description.cshtml という名前の新しいファイルを追加し、次のコンテンツを追加します(これは、Razor を使用していることを前提としています)。

<div>
    @Html.TextBox("", Model, new { id = "_myCustomDescriptionId" })
</div>


考慮すべき別のアイデアを次に示します。を使用する代わりに、フィールドとエディターを個別にレイアウトする方が簡単な場合がありますHtml.EditorForModel。その場合、次のように html 属性を直接指定できます。

@Html.TextBoxFor(m => m.Description, new { id = "_myCustomDescriptionId" });
于 2013-04-22T15:07:47.213 に答える