我想使用asp.net mvc 3 razor html helper跟随HTML代码:
<input type="text" .... . placeholder="Login" data-icon="user" />
我试过这个:
@Html.TextBoxFor(m => m.UserName,new { placeholder = "Login",data-icon = "user" })
要么
@Html.TextBoxFor(m => m.UserName,@data-icon = "user" })
Invalid anonymous type members declaration.
解决方法
是的,你不能这样写,但你可以编写自己的扩展来解决这个问题.以下是示例代码:
public static MvcHtmlString MyInput(this HtmlHelper htmlHelper,string name,string value,string icon) { var attrs = new Dictionary<string,object>(); attrs.Add("data-icon",icon); return htmlHelper.TextBox(name,name,value,attrs); }
或者您也可以使用这样的剃须刀:
@{ var attrs = new Dictionary<string,object>(); attrs.Add("placeholder","Login"); attrs.Add("data-icon","user"); } @Html.TextBoxFor(m => m.UserName,attrs)
Plz不要忘记如果它对你有帮助就标记它是正确的答案:-)