ActionLink htmlAttributes

作品

<a href="@Url.Action("edit", "markets", new { id = 1 })" data-rel="dialog" data-transition="pop" data-icon="gear" class="ui-btn-right">Edit</a> 

不工作 – 为什么?

 @Html.ActionLink("Edit", "edit", "markets", new { id = 1 }, new {@class="ui-btn-right", data-icon="gear"}) 

看来你不能传递像data-icon =“齿轮”到htmlAttributes?

build议?

问题是你的匿名对象属性data-icon有一个无效的名字。 C#属性的名称中不能有破折号。 有两种方法可以解决这个问题:

使用下划线而不是短划线(MVC会自动用发射的HTML中的短划线replace下划线):

 @Html.ActionLink("Edit", "edit", "markets", new { id = 1 }, new {@class="ui-btn-right", data_icon="gear"}) 

使用字典中的重载:

 @Html.ActionLink("Edit", "edit", "markets", new { id = 1 }, new Dictionary<string, object> { { "class", "ui-btn-right" }, { "data-icon", "gear" } }); 

用下划线replace所需的连字符; 它会自动呈现为连字符:

 @Html.ActionLink("Edit", "edit", "markets", new { id = 1 }, new {@class="ui-btn-right", data_icon="gear"}) 

变为:

 <form action="markets/Edit/1" class="ui-btn-right" data-icon="gear" .../> 
 @Html.ActionLink("display name", "action", "Contorller" new { id = 1 },Html Attribute=new {Attribute1="value"})