是否有必要在asp.net中为helper制作一个html mvc 2.0的默认值为“empty string”
就像我这样做
Html.TextBoxFor( u => u.ProductName)
将呈现为
<input id ="ProductName" name="ProdcutName" type="text" value="Jim" />
现在我不希望文本框显示jim。我希望它什么都不显示。
<input id ="ProductName" name="ProdcutName" type="text" value="" />
我试图这样做
Html.TextBoxFor( u => u.ProductName, new { @value = " "})
但这似乎什么都不做。那我怎么能这样做呢。我希望你能做到这样的事情,否则我认为这些新助手有一个很大的缺陷,因为现在我需要使用javascript来删除它们,因为我几乎不想在文本框中使用默认值,特别是当我在文本框旁边有一个标签时说它是什么。
修改
我发现如果我想将它设置为空字符串,我必须在viewmodel中执行此操作。什么是好的,但仍有一个问题。在我的示例中,ProductName是字符串类型。但如果它是一个int,那么它会将默认值显示为0,这是我不想要的。
所以你当然可以将int设置为空字符串。因此,要将它变为空字符串,您需要将该类型更改为字符串,这有点糟糕。
有人知道这个吗?
修改2
助手的单选按钮似乎也没有生成“id”。你怎么设置一个?
答案 0 :(得分:1)
对于非可空类型,您可以使用类似
的内容然后你可以将它设置为null。
是否只要将一个属性设置为null或全部属性?
如果你想让所有的属性都是空白的,那么最好只创建一个新的ViewModel,然后只指定Id,同时保留其余的空/ null。
答案 1 :(得分:0)
无论值是什么,您是否要显示null?我不明白。
对于int,使用可空的int - int?
对于单选按钮使用
<%= Html.RadioButton("Hello", true, new { id = "rbHello" })%>