Razor文本框,“值”属性未显示

时间:2012-10-10 09:48:51

标签: asp.net-mvc-3

  

可能重复:
  Watermark for Textbox in 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(这是我客户的要求)。

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

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

有没有人知道另一种方法(“占位符”和“价值”除外)?

2 个答案:

答案 0 :(得分:0)

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

    @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
   });

答案 1 :(得分:0)

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

 return View(model);

或者,模型为空。