我正在为我的 MVC 3 项目编写一个 Html Helper。
我想返回像“@Html.ActionLink(xxxxx)”这样的 MvcHtmlString,我应该写什么?
目前我有这个代码
public static MvcHtmlString SetFeaturedFor<TModel, TValue>(this HtmlHelper<TModel> htmlHelper,Expression<Func<TModel, TValue>> expression)
{
var isFeatured =Convert.ToBoolean(ModelMetadata.FromLambdaExpression(expression, htmlHelper.ViewData).Model.ToString());
string result = "Html.ActionLink(Delete, DeleteComment, Admin, new { Id = @thisComment.CommentId }, null)";
return MvcHtmlString.Create(result);
}
它返回整个字符串....但我想要渲染的字符串。所以我该怎么做?谢谢大家。
更新
貌似可以直接退货
见下面的代码
public static MvcHtmlString SetFeaturedFor<TModel, TValue>(this HtmlHelper<TModel> htmlHelper,Expression<Func<TModel, TValue>> expression)
{
var isFeatured =Convert.ToBoolean(ModelMetadata.FromLambdaExpression(expression, htmlHelper.ViewData).Model.ToString());
string indicatorText = (isFeatured) ? "Unset Featured" : "Set Featured";
return htmlHelper.ActionLink(indicatorText, "SetFeaturedIncident", "Admin", null, null);
}
需要导入 System.Web.Routing 命名空间。