如何在匿名类型成员的名称中使用"-"符号。

传送门

上文中有这样一句话:
Eg:     new { data_abc = "def" } will be generated as data-abc="def".
也就是说,用下划线做html的匿名属性名称,会自动生成为横线的html元素的属性名称。

 

以下是原问题内容:

我们在Asp.net MVC中使用Html.Textbox等扩展的时候,经常要用到HttpAttributes的匿名类型参数。而在前台数据验证、绑定时经常用到类似于“data-content"、"data-val"等属性。

整个Tag看起来像这样子:

<input class="text-box single-line" data-val="true" data-val-required="名称 字段是必需的。" id="Name" name="Name" type="text" value="张三" />

问题就这在这里,我在MVC中,希望用

Html.TextBox("Name","张三", new { data-val = "false" });

来强制指定data-val为“false”(注:这只是一个例子,并不代表我只是针对这个名为”data-val"的属性。)

事实上,VS2010 IDE会提示如下错误:

只能从不带参数的简单名或限定名中推断匿名类型成员的名称。

言下之意就是不能使用"-"符号(减号)。

如何解决?


蓝山帝景
浏览 571回答 2
2回答

GCT1015

确实不行,但我记得TextBox扩展方法有一个重载是接受一个字典的,用字典就行
打开App,查看更多内容
随时随地看视频慕课网APP