我搜索了MVC3htmlhelper来创建包装器方法,但没有找到任何快速的解决方案。我要找的东西大概是:
@html.createLink("caption", "url")
{
<html> content in tags </html>
}
结果应该是
<a href="url" title="Caption">
<html> content in tags </html>
</a>
能帮上忙吗。
发布于 2012-12-10 21:43:38
还有另一种方法,不需要一次性技巧。它的工作量更少,对小帮手来说很棒。我回答了类似的问题,不想复制所有内容,但这里有一个简短的示例:
@helper Paragraph(string cssClass, Func<object, object> markup) {
<p class="@cssClass">@markup.DynamicInvoke(this.ViewContext)</p>
}
此辅助对象的用法如下所示:
@Paragraph("highlited",
@<text>
Look, a @Html.ActionLink("link", "index")
</text>
)
我对另一个类似问题的完整回答是here。
发布于 2012-05-17 19:59:53
在最简单的层面上,像这样的东西就可以做到
public static MvcHtmlString SomeLink(this HtmlHelper htmlHelper, string href, string title, string content )
{
var urlHelper = ((Controller)htmlHelper.ViewContext.Controller).Url;
//var url = urlHelper.Action(actionName, controllerName, routeValues);
var someLink = new TagBuilder("a");
someLink.MergeAttribute("href", href);
someLink.InnerHtml = content;
return new MvcHtmlString(someLink.ToString());
}
https://stackoverflow.com/questions/10635063
复制相似问题