【问题标题】:Passing string containing an Html.ActionLink to a view from a controller将包含 Html.ActionLink 的字符串从控制器传递给视图
【发布时间】:2011-12-29 11:18:38
【问题描述】:

在我的控制器中,我有一个包含 C# 的字符串,类似于

 viewModel.Message = 'blah blah <%=Html.ActionLink("","","")%> blah';

在相应的视图中我已经尝试过

  • Model.Message
  • @Html.Raw(Model.Message)

让它正确显示,没有运气 - 有什么想法吗?

【问题讨论】:

    标签: c# html string controller


    【解决方案1】:

    您可以在控制器中调用ActionLink 并将结果添加到您的字符串顶部吗 -

    viewModel.Message = "blah blah " + Html.ActionLink("","","") + " blah";
    

    【讨论】:

      【解决方案2】:

      为此,您必须在控制器中创建HtmlHelper 的实例,并将消息设置为

      viewModel.Message = "blah blah" + htmlHelper.ActionLink("","","") + " blah";
      

      但是你真的希望你的控制器关心渲染 HTML 链接之类的事情吗?如果您不能将任务完全委托给 View,那么设置一个 Url 属性怎么样?你可以从你的控制器访问Url.Action("","")

      【讨论】:

      • 谢谢!是的,我不会这样做 - 我们维护的网站只有一小部分会这样做,所以我现在就这样离开了。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-09-27
      • 1970-01-01
      • 2012-12-18
      • 1970-01-01
      • 2017-02-21
      • 2019-11-27
      • 1970-01-01
      相关资源
      最近更新 更多