3

これを使用しているエディター テンプレート (私のソリューションの Shared\EditorTemplates フォルダーにあります)

  <%@ Page Language="C#" Inherits="System.Web.Mvc.ViewUserControl<System.DateTime?>" %>
  <%=Html.TextBox("", (Model.HasValue ? Model.Value.ToString("MM/dd/yyyy") : string.Empty), ViewData )%>

そしてこれは私の見解では

  @Html.EditorFor(model => model.ModifiedDate)

ビューでこのフィールドを読み取り専用にする方法

4

4 に答える 4

5
<%= Html.EditorFor(x => x.ModifiedDate, new { @readonly = "readonly" }) %>

アップデート:

サンプル プロジェクトを送っていただいたので、問題は次のとおりです。

  1. フォルダにスペル ミスがあり~/Views/Shared/EditorTempletesます。である必要があります~/Views/Shared/EditorTemplates
  2. DateTime.ascxエディタ テンプレートは、.ではなく、呼び出す必要がありますDateTime.aspx。このため、ヘッダーは次のようにする必要があります (<%@ Control ...の代わりに使用します<%@ Page ...)。

    <%@ Control 
        Language="C#" 
        Inherits="System.Web.Mvc.ViewUserControl<System.DateTime?>" 
    %>
    <%= Html.TextBox(
        "", 
        (Model.HasValue ? Model.Value.ToString("MM/dd/yyyy") : string.Empty), 
        ViewData
    ) %>
    
于 2011-09-18T08:25:48.567 に答える
3

以下を使用できます。

@Html.DisplayFor()
于 2013-03-26T22:15:20.053 に答える
2

名前空間の [HiddenInput] 属性でプロパティを装飾しSystem.Web.Mvcます。

于 2012-05-17T14:01:53.013 に答える