Asp.net mvc 2 如何在asp.net mvc中添加布尔属性?

Asp.net mvc 2 如何在asp.net mvc中添加布尔属性?,asp.net-mvc-2,html-helper,Asp.net Mvc 2,Html Helper,我正在尝试使用asp.net mvc 2中的html帮助程序输出以下html: <input type="text" id="Name" name="Name" value="" autofocus /> 我现在正在使用此代码: <%= Html.TextBoxFor(x => x.Name) %> x.Name)%%> 我已经试过了 // results in <input ... autofocus="" /> <%= Html.Te

我正在尝试使用asp.net mvc 2中的html帮助程序输出以下html:

<input type="text" id="Name" name="Name" value="" autofocus />

我现在正在使用此代码:

<%= Html.TextBoxFor(x => x.Name) %>
x.Name)%%>
我已经试过了

// results in <input ... autofocus="" />
<%= Html.TextBoxFor(x => x.Email, new { autofocus="" }) %>

// does not compile
<%= Html.TextBoxFor(x => x.Email, new { autofocus=null }) %>
//结果是
x、 电子邮件,新{autofocus=”“})%>
//不编译
x、 电子邮件,新建{autofocus=null})%>

有什么方法可以使用html助手完成我想要的任务吗?

我认为您必须为此编写自己的助手。默认帮助程序输出键/值对。在引擎盖下,它使用标记生成器构建标记。对于标记属性,它使用格式
{0}=“{1}”
来格式化属性及其值的键/值对。

Html帮助程序生成XHTML。您试图实现的目标是:

  • 不是XHTML(属性需要有值,甚至是空的)
  • 非W3C标准(输入标记无自动对焦属性)

  • 如果您想生成这样的标记,您需要手动生成或编写自己的帮助程序。

    我知道这是很久以前的事了,但是没有一条旧规则可以输入这样的属性

    required=“required”


    这在FireFox、Chrome和Opera中似乎有效,但不是Safari,当然也不是IE8,这是我公司的标准(队列长号…哇,哇,哇)。

    我给了它一些时间,看起来你是对的,你是第一个,所以我接受。我仍然很难过