如何创建自定义 MVC3 操作链接方法
本文关键字:MVC3 操作 链接 方法 自定义 何创建 创建 | 更新日期: 2023-09-27 18:17:51
可能的重复项:
如何将 span 元素放入 ActionLink MVC3 中?
如何创建自定义 MVC3 操作链接方法生成此输出:
<li>
<a href="/Home/ControllerName" data-ajax-update="#scroll"
data-ajax-mode="replace" data-ajax-method="GET"
data-ajax-loading="#progress" data-ajax="true">
<span>LinkText</span> // this span generated inside <a>
</a>
</li>
你要么创建一个新的扩展方法,返回一个你自己组合在一起的MvcHtmlString
对象(不过注意html编码(,我们创建一个部分视图,你可以在需要时呈现它,所以你不必通过代码创建HTML。
public static class MyHtmlExtensions {
public static MvcHtmlString MyActionLink(this HtmlHelper html, string action, string controller, string ajaxUpdateId, string spanText) {
var url = UrlHelper.GenerateContentUrl("~/" + controller + "/" + action);
var result = new StringBuilder();
result.Append("<a href='"");
result.Append(HttpUtility.HtmlAttributeEncode(url));
result.Append("'" data-ajax-update='"");
result.Append(HttpUtility.HtmlAttributeEncode("#" + ajaxUpdateId));
// ... and so on
return new MvcHtmlString(result.ToString());
}
}
您必须为 razor 创建自定义 HTML 帮助程序。这样,您就可以为链接呈现自定义 HTML(包括您对 span 标记的要求(。此帮助程序扩展方法必须返回 MvcHtmlString 对象。
可以在此处找到创建 HTML 帮助程序的一个示例。