[asp.net-mvc]使非可编辑的文本框,但其价值应该发布到服务器的回

发布时间: 2016/10/5 12:46:30
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我想我的 HTML 窗体上的文本框中必须不是可编辑的,但它的价值,将预先填写 HTML 表单中显示时,必须发布到 Web 服务器的回。

如果当我回发具有其数据的窗体时我的 HTML,禁用文本框,禁用文本框中的值是不回发。

如何禁用文本框的值也会回发?

这是我的有︰

<div class="form-group">
        @Html.LabelFor(m => m.Name, new { @class = "col-md-2 control-label" })
        <div class="col-md-10">
            @if (!string.IsNullOrEmpty(Model.Name))
            {
                @Html.TextBoxFor(m => m.Name, new { @class = "form-control", disabled = "disabled" })
            }
            else
            {
                @Html.TextBoxFor(m => m.Name, new { @class = "form-control" })
            }
        </div>
    </div>

解决方法 1:

我得到了答案。

如果你想要一个文本框值的用户不能编辑但文本框中的值必须回发到服务器,这样对它适用的只读属性︰

<input type = "text" redaonly" />

所以,在 MVC 视图中,这里是你做了些什么︰

@if (!string.IsNullOrEmpty(Model.Name))
{
  @Html.TextBoxFor(m => m.Name, 
      new { @class = "form-control", @readonly = "readonly" })
}
else
{
  @Html.TextBoxFor(m => m.Name, new { @class = "form-control" })
}
官方微信
官方QQ群
31647020