的RenderPartial不能转换为字符串
问题描述:
我与Telerik的MVC标签栏控制工作,我有一个问题,但我怀疑的问题更我的如何正确使用Lambda表达式和MVC佣工的无知,真正Telerik的特异性不。的RenderPartial不能转换为字符串
我的助手呼吁是这样的:
<% Html.Telerik().TabStrip()
.Name("BusinessDetailsTabs")
.Items(parent =>
{
parent.Add()
.Text("Facilities")
.Content(() =>
{%>
<%= Html.RenderPartial("~/Views/Shared/DisplayTemplates/BusinessRelations/FacilityGrid.ascx", new FacilitiesViewModel {Entities = Model.Facilities}) %>
<%});
})
.Render();
%>
的问题是Add().Content
方法的签名是Content(string foo)
,显然我打电话RenderPartial
的方式,它只是不工作 - 我得到这个异常:编译错误消息:CS1660:无法将lambda表达式转换为键入'string',因为它不是委托类型
如何解决此问题,以便仍可以调用此部分方法?我环顾四周,发现了一个RenderPartialToString方法,但这听起来像是一个黑客攻击,似乎这有一个比这更好的解决方案。
答
更改为
<% Html.Telerik().TabStrip()
.Name("BusinessDetailsTabs")
.Items(parent =>
{
parent.Add()
.Text("Facilities")
.Content(() =>
{
Html.RenderPartial("~/Views/Shared/DisplayTemplates/BusinessRelations/FacilityGrid.ascx", new FacilitiesViewModel {Entities = Model.Facilities});
});
})
.Render();
%>
真棒,就是它!万分感谢! (显然是不会让我接受你的答案再过9分钟...... grr ......) – Jaxidian 2010-05-10 20:20:43
任何想法是什么样的Visual Basic版本? – 2012-06-26 15:18:41