首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何返回@Html.ActionLink

如何返回@Html.ActionLink
EN

Stack Overflow用户
提问于 2012-04-28 23:18:23
回答 1查看 1.1K关注 0票数 0

我正在为我的MVC 3项目编写一个Html助手。

我想返回MvcHtmlString,比如"@Html.ActionLink(xxxxx)",我应该写什么?

目前我有这个代码

代码语言:javascript
复制
        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);
    }

它还了整根绳子..。但我想要渲染的字符串。那我该怎么办?谢谢大家。

更新

看来我可以直接返回这个

见下面的代码

代码语言:javascript
复制
        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命名空间。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-28 23:20:08

删除引号(您希望调用函数,而不仅仅是将代码存储在字符串中)和@ (即Razor,而不是C# )。您可能需要将Html更改为(想必)扩展方法中称为助手参数的任何东西。

而且,Html.ActionLink已经返回了MvcHtmlString,所以您可以将它直接放在return之后。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10368406

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档