我试图通过评估和演示到ASP.NET直放站内Html.RenderPartial但它不起作用任何一个可以帮助?

<asp:Repeater runat="server">
            <ItemTemplate>
                <% Html.RenderPartial("UserControl1",Eval("Title")); %>
            </ItemTemplate>
</asp:Repeater>

这我知道,我可以用其他方式做到这一点的方式,但我想知道,如果它是可行与否。

有帮助吗?

解决方案

是一样的,因为它预计,返回一个字符串表达式,所以得到这个编译你必须调用调用Html.RenderPartial(方法),然后返回一个空字符串:
<%
protected string RenderControl(object dataItem) 
{
    Html.RenderPartial("UserControl1", ((MyType) dataItem).Title);
    return "";
}
%>

... <%# RenderControl(Container.DataItem) %> ...

我只想用的foreach虽然 - 混合的WebForms数据绑定和MVC部分呈现是不可预测的,在最好的:

<% foreach (MyObject o in data) { Html.RenderPartial("UserControl1", o.Title); } %>

不要让生活比它需要...

任何困难

其他提示

尝试把你的RenderPartial <%# %>语句中,如:

<asp:Repeater runat="server">
    <ItemTemplate>
        <%# Html.RenderPartial("UserControl1",Eval("Title")); %>
    </ItemTemplate>
</asp:Repeater>
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top