4
    <div class="editor-label" style="position:static">
        <%: Html.LabelFor(Model => Model.Date, "Date")%>
        <span style="padding-left:52px">
            <%: Html.TextBoxFor(Model => Model.Date)%>

ここでは、ボタンのクリック/アクションのクリックで読み取り専用プロパティをテキストボックスに設定したいと考えています。どうすればいいのですか。最初のページでは、データは読み取り専用として表示され、編集ボタンをクリックすると表示されます。これは、編集可能なテキスト ボックスに変更する必要があります。ほぼ 7 つのテキスト ボックスがあり、すべて同じ操作を行う必要があります。

4

3 に答える 3

10

あなたの質問を正しく理解できれば、これは小さな JavaScript で実現できます。簡単な例を次に示します。

ページの読み込み時に各テキストボックスを読み取り専用としてレンダリングします。

<%: Html.TextBoxFor(model => model.Date, new { @readonly = "readonly" }) %>

各テキスト ボックスから読み取り専用属性を削除する編集ボタンのクリック ハンドラーを追加します。

$("#editButton").click(function() {
    $("#Date").removeAttr("readonly");
});
于 2011-06-23T12:54:22.733 に答える
1

以下を使用します。

 Html.TextBoxFor(m => m.Whatever, new {id = "", @class="", 
      placeholder="" @readonly="readonly"}) 

お役に立てれば :)

于 2014-08-15T12:06:35.757 に答える
0

入れるべきだと思います

@readonly = true

また

@readonly = *your-expression-here*
于 2012-08-30T16:23:55.013 に答える