Jef*_*ddy 2 razor asp.net-mvc-3
尝试为通过Razor @ Html.ActionLink助手创建的[a]标签分配ID属性时,我得到一个奇怪的结果
我的原始代码是这样的:
@Html.ActionLink("Create New Order", "Index", "NewOrder")
Run Code Online (Sandbox Code Playgroud)
这可以正常工作并创建一个链接http://www.mysite.com/NewOrder但我想为我的元素添加一个ID标签.
然后我尝试了这个
@Html.ActionLink("Create New Order", "Index", "NewOrder", new {@id = "orderlink"})
Run Code Online (Sandbox Code Playgroud)
这将创建一个http://www.mysite.com/Orders?Length=8的链接
更新:
当我使用提供的解决方案时,
@ Html.ActionLink("创建新订单","索引","NewOrder",新{@id ="orderlink"},null)
我得到一个如下链接:http: //www.mysite.com/NewOrder/Index/orderlink
我不希望将orderlink添加到我的链接/路由中.我想将它添加到[a]标签属性中.请参阅问题的顶部.
我想得到这个:
<a id="orderlink" href="/tcap/NewOrder/Index" >Create New Order</a>
Run Code Online (Sandbox Code Playgroud)
试试这个过载.
public static MvcHtmlString ActionLink(
this HtmlHelper htmlHelper,
string linkText,
string actionName,
string controllerName,
Object routeValues,
Object htmlAttributes
)
Run Code Online (Sandbox Code Playgroud)
所以你的代码将是
@Html.ActionLink("Create New Order", "Index", "NewOrder",
new {@id = "orderlink"},null)
Run Code Online (Sandbox Code Playgroud)
编辑:根据您的评论/更新的问题
使用此重载
@Html.ActionLink("Create New Order", "Index", "NewOrder")
Run Code Online (Sandbox Code Playgroud)
这会给你 mysite.com/NewOrder/Index网址
编辑2:如果你想, <a id="orderlink" href="/tcap/NewOrder/Index" >Create New Order</a>
使用此方法,将HTML属性作为此重载的第五个参数传递
@Html.ActionLink("Create New Order", "Index",
"NewOrder",null,new {@id="orderlink"})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
929 次 |
| 最近记录: |