0

私たちのクライアントは、表示専用フォームを必要とします (コントロールを読み取り専用にすることは、許容できる解決策ではありません:-( ) ユーザーが読み取り専用アクセス権を持っている場合、テキストボックス/ドロップダウン/リストボックス (カンマ区切り値) の値をラベルとして表示しますこれを行う Jquery プラグインはありますか? 私はこれを達成するために部分ビューの別のセットを作成したくありません。

この点でどんな助けでも大歓迎です。

ありがとう、

ラジャ

4

2 に答える 2

1

はい、できます。私はそれをお勧めしません。

css クラスでヘルパーを宣言して、JQuery セレクターでヘルパーをすべて取得できるようにします

@Html.TextBox("txtName", "20", new { @class = "cssChange" })

JQuery を使用してフォームをラベルに変更します

$( ".cssChange" ).replaceWith( function() {
    return "<input type=\"label\" value=\"" + $( this ).html() + "\" />";
});

私のコードはテストされていません。それは純粋に有益です。

そして、私はそれに対してお勧めします。代わりに、ラベルとトグルを備えた別の div をお勧めします。しかし、このオプションは利用可能です。幸運を。

于 2013-02-06T22:12:57.187 に答える
0
    public static MvcHtmlString EditorOrDisplayFor<TModel, TProperty>(
        this HtmlHelper<TModel> htmlHelper, Expression<Func<TModel, TProperty>> expression,
        bool canEdit, int boxWidth = 100)
    {
        var sb = new StringBuilder();

        if (canEdit)
        {
            var editor = htmlHelper.TextBoxFor(expression, new { style = "width: " + boxWidth + "px;" });
            sb.AppendFormat("<div class=\"TextEditor\">{0}</div>", editor);
        }
        else
        {
            var lbl = htmlHelper.LabelFor(expression);
            var hid = htmlHelper.HiddenFor(expression);
            sb.AppendFormat("<div class=\"CanNotEdit\">{0}{1}</div>", lbl, hid);
        }
        return MvcHtmlString.Create(sb.ToString());
    }
于 2013-02-06T22:52:26.853 に答える