在客户端回调时将控件渲染到面板内的html

时间:2011-12-15 04:26:23

标签: c# jquery asp.net panel render

我想使用客户端回调来刷新我的aspx页面,所以我有一个问题。是否可以将控件呈现为面板中的html?

我的HTML代码

<td class="rightColumnModule2Content">
<asp:Panel ID="pnPrepareRender" runat="server">

<!--Begin of panel gridview header-->

    <table style="width: 100%">
    <tr>
        <td>
        &nbsp;
        </td>
        <td align="right">
        <asp:ImageButton ID="imgBtnPrevious2" runat="server" ImageUrl="/Styles/imagesBlue/left-48x48.png"
            OnClick="imgBtnLeft2_Click" Width="16px" />
        <asp:TextBox ID="txtCurrentPage2" runat="server" CssClass="inputTextS1" Width="25px"></asp:TextBox>
        /<asp:Label ID="lblTotal2" runat="server"></asp:Label>
        <asp:ImageButton ID="imgBttnNext2" runat="server" ImageUrl="~/Styles/imagesBlue/right-48x48.png"
            OnClick="ingBtnRight2_Click" Width="15px" />
        <asp:Button ID="btnGvPage2" runat="server" BorderStyle="None" Height="18px" OnClick="btnGvPage2_Click"
            Width="36px" />
        <br />
        <br />
        </td>
    </tr>
    </table>  
    <table style="width: 100%">
    <tr>
        <td>
        </td>
        <td align="right">
        <!-- Begin of gridview Customer list -->
        <asp:GridView ID="gvCustList" runat="server" AllowPaging="True" AutoGenerateColumns="False"
            CellPadding="4" CssClass="rightColumnModule2Table" ForeColor="#333333" GridLines="None"
            OnRowCommand="gvCustList_RowCommand" OnRowDataBound="gvCustList_RowDataBound">
            <AlternatingRowStyle CssClass="gvRowAlternative" />
            <Columns>
            <asp:TemplateField HeaderText="Member ID">
                <ItemTemplate>
                <asp:LinkButton ID="lnkMember" runat="server" CommandName="Select" Text='<%#Eval("MEMBER_ID") %>'></asp:LinkButton>
                </ItemTemplate>
                <ItemStyle CssClass="gvRow1C" />
            </asp:TemplateField>
            <asp:TemplateField HeaderText="Member Name">
                <ItemTemplate>
                <asp:LinkButton ID="lnkMemberName" runat="server" CommandName="Select" Text='<%#Eval("MEMBER_NAME") %>'></asp:LinkButton>
                </ItemTemplate>
                <ItemStyle CssClass="gvRow1C" />
            </asp:TemplateField>
            <asp:BoundField DataField="MEMBER_CONTACT" HeaderText="Member Contact" ReadOnly="True"
                SortExpression="MEMBER_CONTACT">
                <ItemStyle CssClass="gvRow1C" ForeColor="Black" />
            </asp:BoundField>
            <asp:BoundField DataField="MEMBER_EMAIL" HeaderText="Member Email" ReadOnly="True"
                SortExpression="MEMBER_EMAIL">
                <ItemStyle CssClass="gvRow1C" ForeColor="Black" />
            </asp:BoundField>
            </Columns>
            <EditRowStyle VerticalAlign="Middle" />
            <EmptyDataTemplate>
            <strong>Not data listing display</strong>
            </EmptyDataTemplate>
            <FooterStyle HorizontalAlign="Right" />
            <HeaderStyle CssClass="row1C" />
            <PagerSettings Visible="False" />
            <RowStyle CssClass="gvRowItem" VerticalAlign="Middle" />
        </asp:GridView>
        <!-- End of gridview Customer list -->

        </td>
    </tr>
    </table>



    <table style="width: 100%">
    <tr>
        <td>
        &nbsp;
        </td>
        <td align="right">
        <br />
        <asp:ImageButton ID="imgBtnPrevious" runat="server" ImageUrl="/Styles/imagesBlue/left-48x48.png"
            OnClick="imgBtnLeft_Click" Width="15px" />
        <asp:TextBox ID="txtCurrentPage" runat="server" CssClass="inputTextS1" Width="25px"></asp:TextBox>
        /<asp:Label ID="lblTotal" runat="server"></asp:Label>
        <asp:ImageButton ID="imgBttnNext" runat="server" ImageUrl="~/Styles/imagesBlue/right-48x48.png"
            OnClick="ingBtnRight_Click" Width="15px" />
        <asp:Button ID="btnGvPage" runat="server" BorderStyle="None" Height="18px" OnClick="btnGvPage_Click"
            Width="36px" />
        <br />
        </td>
    </tr>
    </table>

</asp:Panel>

我的后端代码

 public string GetCallbackResult()
    {
        return _Callback;
    }

    public void RaiseCallbackEvent(string eventArgument)
    {

        if (!string.IsNullOrEmpty(eventArgument))
        {


            using (System.IO.StringWriter sw = new System.IO.StringWriter())
            {//How to render control inside the panel????


            }
        }


    }

如何在面板中返回字符串?(pnPrepareprender)

1 个答案:

答案 0 :(得分:1)

假设您想要获得控件在呈现时的样子,即获取html,看看此处接受的答案

https://stackoverflow.com/a/6174620/168371