是否可以使用带有HtmlString的Ajax.ActionLink方法作为链接文本而不是字符串?
原因是我想做这样的事情:
@Ajax.ActionLink("<span style='highlight'>Hello</span> World", ...)
如果我现在尝试这个,它会在我的页面上返回跨度等。所以我需要将其作为HtmlString
返回编辑:
刚试过:
public static MvcHtmlString ActionLink(
this AjaxHelper ajaxHelper,
IHtmlString linkText,
string actionName,
Object routeValues,
AjaxOptions ajaxOptions
)
{
return ActionLink(ajaxHelper, linkText, actionName, routeValues, ajaxOptions);
}
我有一个堆栈溢出异常?
答案 0 :(得分:4)
我使用此处找到的解决方案解决了它:http://forums.asp.net/p/1702210/4518688.aspx/1?Re+Quick+question+about+Ajax+ActionLink+and+span
答案 1 :(得分:0)
不,我不相信。 ASP.NET MVC将HTML编码文本,使其显示为这样。您需要使用的是AjaxExtensions.ActionLink()
方法的重载。像这样的东西会起作用:
方法参数列表:
public static MvcHtmlString ActionLink(
this AjaxHelper ajaxHelper,
string linkText,
string actionName,
Object routeValues,
AjaxOptions ajaxOptions,
Object htmlAttributes
)
注意如何有Object
表单HTML属性。 但是,这只是该锚元素的HTML属性。如果您真的设置使用<span />
元素,那么您最好的选择就是为此编写自定义HtmlHelper
。
@Ajax.ActionLink(
"This is your link text",
"SomeActionName",
null, // or you could pass route values if you like
new AjaxOptions() { }, // whatever Ajax options you want
null); // not passing any html attributers