0

可能重复:
MVC3 中文本框的水印

我将我的 HTML 代码从基本 html 切换为使用 html 助手和 Html.TextBoxFor ...

这是我的旧代码

<input type="text" disabled="disabled" value="Phone" name="Phone" id="cust-cellphone" class="tonedDown" />

这是新版本

@Html.TextBoxFor(x => x.Customer.Phone_Personal, new { @class = "text-adr-fld tonedDown", @value = "Phone", @disabled = "disabled" })

一切正常,除了 Value 属性消失了。我的意思是它没有在文本框中显示为默认的预定义值。我读到您可以使用占位符,但它似乎不适用于 IE9(这是我的客户的要求)。

所以问题是,如何将输入值属性添加到适用于 IE9 的 TextboxFor 方法?

编辑:可能有某种可能的解决方法。我最初的目的是显示一个“类似值的占位符”,即显示用户应该在文本框中键入的内容的默认值。例如,处理电话号码的文本框应该显示“电话”,直到用户单击并输入一个值。

有谁知道这样做的另一种方式(“占位符”和“价值”除外)?

4

2 回答 2

1

你可以为你的模型设置默认值,然后你的代码就可以工作了,否则你可以尝试使用

    @Html.TextBox("Phone_Personal", "Phone", new { @class = "text-adr-fld tonedDown", @disabled = "disabled" }).

如果你想使用 TextBoxFor,那么使用

   $(document).ready(function(){
      $("#Phone_Personal").val("Phone"); // replace Phone_Personal with the ID of the textbox
   });
于 2012-10-10T10:10:22.400 回答
0

我认为您没有将模型传递给 View 方法:

 return View(model);

或者,模型为空。

于 2012-10-10T10:18:46.830 回答