我主要是出于搜索引擎优化的原因决定将“rel”添加到我的行动链接中,但我不确定我采用的方式是遵循“最佳做法”。我只是创建了一个新的Extension方法,如下所示。
这是最好的方法吗?在这种方法中是否应该修改一些内容?
查看
<%= Html.ActionLink("Home", "Index", "Home")
.AddRel("me")
.AddTitle("Russell Solberg")
%>
扩展方法
public static string AddRel(this string link, string rel)
{
var tempLink = link.Insert(link.IndexOf(">"), String.Format(" rel='{0}'", rel));
return tempLink;
}
public static string AddTitle(this string link, string title)
{
var tempLink = link.Insert(link.IndexOf(">"), String.Format(" title='{0}'", title));
return tempLink;
}
答案 0 :(得分:13)
您可以非常轻松地添加任何额外的html参数,而无需编写自己的扩展方法
<%= Html.ActionLink("Home", "Index", "Home", null,
new { title="Russell Solberg", rel="me"}) %>
答案 1 :(得分:4)
您可以使用作为第四个参数传递的匿名类向操作链接添加属性:
<%= Html.ActionLink("Home", "Index", null,new{ @title="Russell Solberg", @rel="me" }) %>
@符号用于指定属性名称为c#reserved keywordk(如类)。
答案 2 :(得分:2)
我可能不会这样做,因为这将使任何字符串成为可能。您可以使用操作链接执行此操作,而无需创建自己的扩展方法。像这样:
<%=Html.ActionLink("Home", "Index", "Home", null, new {title = "Russell Solberg", rel = "me"}) %>
我个人更喜欢使用Url.Action()
并自己编写<a />
标记,因为我觉得它更具可读性。