2013-07-26 3 views
1

У меня есть этот контроль множественного который содержит сетку:преобразования сетки внутри MultiView возвращает пустую строку

<asp:MultiView ID="MultiView1" ActiveViewIndex="0" runat="server" > 
<asp:View ID="View1" runat="server" > 
<telerik:RadGrid ID="RadGrid1" runat="server" RegisterWithScriptManager="false" AutoGenerateColumns="false" > 
<MasterTableView> 
<Columns> 
<telerik:GridBoundColumn HeaderText="ID" DataField="ID"></telerik:GridBoundColumn> 
<telerik:GridBoundColumn HeaderText="Name" DataField="NAME"></telerik:GridBoundColumn> 
<telerik:GridBoundColumn HeaderText="LastName" DataField="LASTNAME"></telerik:GridBoundColumn> 
<telerik:GridBoundColumn HeaderText="Description" DataField="DESCRIPTION"></telerik:GridBoundColumn> 
</Columns> 
</MasterTableView> 
</telerik:RadGrid> 
<asp:Button ID="Navigate" runat="server" OnClick="Navigate_Click" Text="Next" /> 
</asp:View> 
<asp:View ID="View2" runat="server" > 

Save your changes 
<asp:Button ID="save" runat="server" OnClick="save_click" Text="Save " /> 
</asp:View> 
</asp:MultiView> 

Серверный код:

private void convertRadGridTohtml() 
{ 
    StringBuilder SB = new StringBuilder(); 
    StringWriter SW3 = new StringWriter(SB); 
    HtmlTextWriter htmlTW = new HtmlTextWriter(SW3); 
    RadGrid1.RenderControl(htmlTW); 
    StringWriter oStringWriter = new StringWriter(); 
    HtmlTextWriter oHtmlTextWriter = new HtmlTextWriter(oStringWriter); 
    RadGrid1.RenderControl(oHtmlTextWriter); 
    string html = oHtmlTextWriter.InnerWriter.ToString(); 
    // toput.InnerHtml = html; 
} 

Когда сетка место внутри MultiView, то функция всегда возвращает пустую строку, но при размещении вне multiview объект html работает нормально и возвращает сетку в виде html.

ответ

0

Ваша функция, кажется, ломается, когда вы ссылаетесь на RadGrid1 directly.Since он похоронен в MultiView, найти активный вид первый и просверлить вниз к grid.Try этого

RadGrid RadGrid1=(RadGrid)MultiView1.Views(1).FindControl("RadGrid1"); 
    RadGrid1.RenderControl(oHtmlTextWriter); 

Таким образом, вы уверены, что вы правильно находите RadGrid1 с его содержимым.

Смежные вопросы