HTML助手类

时间:2014-03-13 06:50:52

标签: asp.net-mvc-3

我正在使用此代码并且工作正常。

@Html.TextBox("myname", "somevalue", new { @class = "css-class", @onclick = "alert('demo');" id="mynewID"})

但是还有另一个重载:

HTMLHelper.Textbox(string name, object value, IDictionary<string,object> htmlattribute)

我正在使用:

@Html.TextBox("myname", "", new Dictionary<string, object> { { "id", "f","class","ds" } })

但是出现编译错误...请帮忙

1 个答案:

答案 0 :(得分:1)

您获得的错误是由于字典初始值设定项中使用的语法不正确。如果将此代码添加到类并尝试编译,则可以轻松地看到:

var dict = new Dictionary<string, object> { { "id", "f", "class", "ds" } };

你会看到你收到错误:

  

方法“添加”没有重载需要4个参数

您需要将每个对象作为键值对传递给字典,如此代码中所示(请注意用大括号括起来的每个键值对):

var dict = new Dictionary<string, object> { { "id", "f" }, { "class", "ds" } };

所以你可以使用HtmlHelper的重载,如下例所示:

@Html.TextBox("myname", "", new Dictionary<string, object> { { "id", "f"}, {"class", "ds" } })