【问题标题】:extension methods cannot be dynamically dispatched mvc3 razor扩展方法不能动态调度 mvc3 razor
【发布时间】:2011-10-27 15:01:44
【问题描述】:

我在尝试使用 Html 助手时遇到了这个问题。我读过动态转换应该可以工作,但我不确定如何在我的情况下获得它。代码:

@{ 

 Html.LinkIfHasData(top.Text, Html.MenuTargetURL(top), false, 
 new { rel    = "tab" + @top.ID });

 }

LinkIfHasData 返回 MvcHtmlString,MenuTargetURL 返回字符串。

我试过了:

@{ 

 (string)Html.LinkIfHasData(top.Text, (string)Html.MenuTargetURL(top), false, 
 new { rel    = "tab" + @top.ID });

 }

但它不起作用。有任何想法吗?

谢谢,

H

【问题讨论】:

  • 这可能会有所帮助 - stackoverflow.com/questions/4136703/…
  • 我正在动态创建一个我在 foreach 循环中使用的 bool。所以不是做 var IsLocal = ... 我做了 bool? IsLocal = ... 现在它可以工作了。

标签: asp.net-mvc-3 razor html-helper


【解决方案1】:

您已在代码块中插入了帮助程序,因此生成的 HTML 不会进入您的视图。从代码块中删除帮助程序,并将其放在您的视图中。改变你的看法如下:

@Html.LinkIfHasData(top.Text, Html.MenuTargetURL(top), false, 
    new { rel    = "tab" + @top.ID })

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-17
    • 1970-01-01
    • 1970-01-01
    • 2013-03-01
    • 1970-01-01
    • 2011-06-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多