让我准确地解释我的问题。
我在网格视图中有一个按钮。我想要做的是在单击该按钮时显示一个模式弹出窗口。
因为,我无法将模态弹出扩展器放置在 gridview 内,所以我将其放置在 gridview 之外。因为我将它放在gridview 之外,所以gridview 按钮无法访问它。为此,我在 gridview 之外创建了一个虚拟按钮,并从 Gridview 按钮的单击事件中调用模式弹出窗口。
让我告诉你我的网格视图(它的 Telerik)
<telerik:RadGrid ID="GridView2" runat="server" AutoGenerateColumns="false" Width="400"
GridLines="None" >
<MasterTableView >
<Columns>
<telerik:GridBoundColumn DataField="fname" HeaderText="First Name" />
<telerik:GridBoundColumn DataField="mname" HeaderText="Middle Name" />
<telerik:GridBoundColumn DataField="lname" HeaderText="Last Name" />
<telerik:GridTemplateColumn>
<ItemTemplate>
<asp:CheckBox ID="checkselect" runat="server" />
</ItemTemplate>
<HeaderTemplate>
<asp:Button ID="Button4" runat="server" Text="Remove" CommandName="Split" OnClick="Button4_Click" />
</HeaderTemplate>
</telerik:GridTemplateColumn>
</Columns>
</MasterTableView >
</telerik:RadGrid>
</div>
</td>
</tr>
</ItemTemplate>
</telerik:GridTemplateColumn>
</Columns>
</MasterTableView>
</telerik:RadGrid>
现在我的模态弹出窗口
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:Button ID="Button5" runat="server" Text="Button" style="display:none"/>
<asp:ModalPopupExtender ID="ModalPopupExtender1" runat="server" TargetControlID="Button5" CancelControlID="Button1" PopupControlID="Panel1">
</asp:ModalPopupExtender>
<asp:Panel ID="Panel1" runat="server" Height="65px" style="display:none" >
<p>
Thank You for Removing records
</p>
</asp:TextBox> <asp:Button ID="Button3" runat="server" Text="Submit" />
<asp:Button ID="Button1" runat="server" Text="Cancel" />
</asp:Panel>
</ContentTemplate>
</asp:UpdatePanel>
问题是当我单击 gridview 按钮(Button4)时,它会抛出 Invalid Postback 错误。我认为那是因为我将 Modalpopup 放在更新面板和 gridview 外面。有人可以告诉我如何处理这个问题吗?我无法将 Gridview 放置在更新面板内,因为它正在停止导致模式弹出扩展器显示的按钮单击事件。
按钮点击事件:
protected void Button4_Click(object sender, EventArgs e)
{
ModalPopupExtender1.Show();
}