Asp.net GridView未在UpdatePanel内渲染
我遇到了一个问题,我试图在UpdatePanel中显示GridView。 首先,当在其中使用GridView时,不会显示初始数据,而当我删除UpdatePanel时,会呈现和显示数据Asp.net GridView未在UpdatePanel内渲染,asp.net,gridview,webforms,updatepanel,Asp.net,Gridview,Webforms,Updatepanel,我遇到了一个问题,我试图在UpdatePanel中显示GridView。 首先,当在其中使用GridView时,不会显示初始数据,而当我删除UpdatePanel时,会呈现和显示数据 I have tried it is working fine. This is the sample code. <form id="form1" runat="server"> <asp:ScriptManager ID="scp1" runat="server">
I have tried it is working fine. This is the sample code.
<form id="form1" runat="server">
<asp:ScriptManager ID="scp1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="upMain" runat="server">
<ContentTemplate>
<asp:Panel id="pnl1" runat="server">
<asp:GridView ID="GridViewHistory" CssClass="GridStyle"
runat="server" AllowPaging="True" AllowSorting="True"
AutoGenerateColumns="False" CellPadding="10"
DataSourceID="historyDataSource"
ForeColor="#333333">
<FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<Columns>
<asp:BoundField DataField="CalculationDate" HeaderText="Date" ReadOnly="True" SortExpression="CalculationDate" />
<asp:BoundField DataField="RoughId" HeaderText="Rough ID" ReadOnly="True" SortExpression="RoughId" />
</Columns>
<RowStyle BackColor="#EFF3FB" />
<SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
<PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
<HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<AlternatingRowStyle BackColor="White" />
</asp:GridView>
</asp:Panel>
</ContentTemplate>
</asp:UpdatePanel>
</form>
我尝试做的第二件事是在通过Ajax插入记录后刷新datagrid。
我正在尝试使用一个点击式javascript来完成它,但到目前为止没有结果。
这是我的aspx页面:
<asp:Panel ID='pSearchParams' runat="server">
<asp:ObjectDataSource ID="historyDataSource" runat="server"
TypeName="DataSourceAdapters.DataSourceAdapter"
SelectMethod="GetData">
</asp:ObjectDataSource>
<form runat="server" id="x">
<asp:ScriptManager
ID="ToolkitScriptManager1" runat="server" >
</asp:ScriptManager>
<ajax:UpdatePanel ID="UpdatePanel2" runat="server" UpdateMode="Conditional" OnLoad="UpdatePanel2_Load">
<ContentTemplate>
<div id="triggerDiv" style="display:none;">
<asp:Button ID="triggerButton" CausesValidation="false" runat="server" Text="" />
<div>
<asp:GridView ID="GridViewHistory" CssClass="GridStyle"
runat="server" AllowPaging="True" AllowSorting="True"
AutoGenerateColumns="False" CellPadding="10"
DataSourceID="historyDataSource"
ForeColor="#333333">
<FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<Columns>
<asp:BoundField DataField="CalculationDate" HeaderText="Date" ReadOnly="True" SortExpression="CalculationDate" />
<asp:BoundField DataField="RoughId" HeaderText="Rough ID" ReadOnly="True" SortExpression="RoughId" />
</Columns>
<RowStyle BackColor="#EFF3FB" />
<SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
<PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
<HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<AlternatingRowStyle BackColor="White" />
</asp:GridView>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="triggerButton" EventName="Click" />
<asp:PostBackTrigger ControlID="GridViewHistory" />
</Triggers>
</ajax:UpdatePanel>
</form>
</asp:Panel>
I have tried it is working fine. This is the sample code.
<form id="form1" runat="server">
<asp:ScriptManager ID="scp1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="upMain" runat="server">
<ContentTemplate>
<asp:Panel id="pnl1" runat="server">
<asp:GridView ID="GridViewHistory" CssClass="GridStyle"
runat="server" AllowPaging="True" AllowSorting="True"
AutoGenerateColumns="False" CellPadding="10"
DataSourceID="historyDataSource"
ForeColor="#333333">
<FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<Columns>
<asp:BoundField DataField="CalculationDate" HeaderText="Date" ReadOnly="True" SortExpression="CalculationDate" />
<asp:BoundField DataField="RoughId" HeaderText="Rough ID" ReadOnly="True" SortExpression="RoughId" />
</Columns>
<RowStyle BackColor="#EFF3FB" />
<SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
<PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
<HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<AlternatingRowStyle BackColor="White" />
</asp:GridView>
</asp:Panel>
</ContentTemplate>
</asp:UpdatePanel>
</form>
奇怪的是,我看到对UpdatePanel的请求在DevTools的网络选项卡中完成,响应在那里,但它从未以html呈现。ScriptManager控件应该是所有控件的顶部。
I have tried it is working fine. This is the sample code.
<form id="form1" runat="server">
<asp:ScriptManager ID="scp1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="upMain" runat="server">
<ContentTemplate>
<asp:Panel id="pnl1" runat="server">
<asp:GridView ID="GridViewHistory" CssClass="GridStyle"
runat="server" AllowPaging="True" AllowSorting="True"
AutoGenerateColumns="False" CellPadding="10"
DataSourceID="historyDataSource"
ForeColor="#333333">
<FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<Columns>
<asp:BoundField DataField="CalculationDate" HeaderText="Date" ReadOnly="True" SortExpression="CalculationDate" />
<asp:BoundField DataField="RoughId" HeaderText="Rough ID" ReadOnly="True" SortExpression="RoughId" />
</Columns>
<RowStyle BackColor="#EFF3FB" />
<SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
<PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
<HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<AlternatingRowStyle BackColor="White" />
</asp:GridView>
</asp:Panel>
</ContentTemplate>
</asp:UpdatePanel>
</form>
我已经试过了,效果很好。这是示例代码。
I have tried it is working fine. This is the sample code.
<form id="form1" runat="server">
<asp:ScriptManager ID="scp1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="upMain" runat="server">
<ContentTemplate>
<asp:Panel id="pnl1" runat="server">
<asp:GridView ID="GridViewHistory" CssClass="GridStyle"
runat="server" AllowPaging="True" AllowSorting="True"
AutoGenerateColumns="False" CellPadding="10"
DataSourceID="historyDataSource"
ForeColor="#333333">
<FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<Columns>
<asp:BoundField DataField="CalculationDate" HeaderText="Date" ReadOnly="True" SortExpression="CalculationDate" />
<asp:BoundField DataField="RoughId" HeaderText="Rough ID" ReadOnly="True" SortExpression="RoughId" />
</Columns>
<RowStyle BackColor="#EFF3FB" />
<SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
<PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
<HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<AlternatingRowStyle BackColor="White" />
</asp:GridView>
</asp:Panel>
</ContentTemplate>
</asp:UpdatePanel>
</form>
我把它修好了。最后是一个不正确关闭的div元素导致了问题。
不过我还是失去了理智。我把它放在asp:Panel控件上方,但仍然没有什么区别。GridView永远不会被渲染。。这是最上面的控件。同时移动脚本管理器和更新面板。在UpdatePanel下使用普通的asp:panel控件然后使用Gridview它必须工作它不允许我在更新面板中使用asp:panel你能在回答中发布你的示例吗?如果因为我正在使用另一个客户端表单而无法将所有内容包装在一个表单中怎么办?
I have tried it is working fine. This is the sample code.
<form id="form1" runat="server">
<asp:ScriptManager ID="scp1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="upMain" runat="server">
<ContentTemplate>
<asp:Panel id="pnl1" runat="server">
<asp:GridView ID="GridViewHistory" CssClass="GridStyle"
runat="server" AllowPaging="True" AllowSorting="True"
AutoGenerateColumns="False" CellPadding="10"
DataSourceID="historyDataSource"
ForeColor="#333333">
<FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<Columns>
<asp:BoundField DataField="CalculationDate" HeaderText="Date" ReadOnly="True" SortExpression="CalculationDate" />
<asp:BoundField DataField="RoughId" HeaderText="Rough ID" ReadOnly="True" SortExpression="RoughId" />
</Columns>
<RowStyle BackColor="#EFF3FB" />
<SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
<PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
<HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<AlternatingRowStyle BackColor="White" />
</asp:GridView>
</asp:Panel>
</ContentTemplate>
</asp:UpdatePanel>
</form>