2011-10-27 38 views
2

我有这个问题试图使用Html助手。我读过那个动态演员应该能工作,但我不知道如何在我的情况下得到它。代码:扩展方法不能动态调度mvc3剃须刀

@{ 

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

+1

什么是你的viewmodel? –

+0

这可能有所帮助 - http://stackoverflow.com/questions/4136703/razor-htmlhelper-extensions-not-found –

+0

我是动态创建一个bool,我在foreach循环中使用。所以,而不是做var IsLocal = ...我做了布尔? IsLocal = ...现在它工作。 –

回答

2

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

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