我有一个问题,有人可能会帮助我。 我有一个gridview和一个按钮,可以在modalpopupextender中编辑gridview中的字段。 我想要实现的是当有人点击编辑按钮时,弹出窗口中有来自需要编辑的行的数据。 就像现在一样,当有人点击编辑按钮时,弹出窗口会出现,但是那里有空白的文本框/下拉列表。 这就是我现在所拥有的:
<ItemTemplate>
<asp:Button ID="btnEdit" CausesValidation="false"
runat="server" Text="Edit" OnClick="Activatee" />
<ajaxToolkit:ConfirmButtonExtender ID="btnDeactivatePopup" runat="server"
TargetControlID="btnEdit" DisplayModalPopupID="ModalPopupDeactivate" />
<ajaxToolkit:ModalPopupExtender
ID="ModalPopupDeactivate" runat="server" TargetControlID="btnEdit"
PopupControlID="pnlActivate" OkControlID="btnDeactivateOK"
CancelControlID="btnDeactivateCancel" BackgroundCssClass="modalBackground"
DynamicServicePath="" Enabled="true" />
</ItemTemplate>
单击按钮时我尝试了另一种方法,但是当我点击编辑按钮时,弹出窗口没有显示在页面上:
<ItemTemplate>
<asp:Button ID="btnEdit" CausesValidation="false"
runat="server" Text="Edit" OnClick="getData" />
<!--
<ajaxToolkit:ConfirmButtonExtender ID="btnDeactivatePopup"
runat="server" TargetControlID="btnEdit"
DisplayModalPopupID="ModalPopupDeactivate" />
-->
<ajaxToolkit:ModalPopupExtender ID="ModalPopupDeactivate"
runat="server" TargetControlID="btnEdit" PopupControlID="pnlActivate"
OkControlID="btnDeactivateOK" CancelControlID="btnDeactivateCancel"
BackgroundCssClass="modalBackground" DynamicServicePath="" Enabled="true" />
</ItemTemplate>
以上版本的后端代码也是如此,但最后没有显示弹出窗口:
protected void getData(object sender, EventArgs e)
{
string coef = "";
Button btn = (Button)sender;
GridViewRow gvr = (GridViewRow)btn.NamingContainer;
int rowindex = gvr.RowIndex;
GridViewRow roww = gvGDG.Rows[rowindex];
coef = Convert.ToString(roww.Cells[7].Text);
txtCoefficient.Text = coef;
ModalPopupExtender modalPopupExtender1 =
(ModalPopupExtender)gvGDG.Rows[rowindex].FindControl("ModalPopupDeactivate");
modalPopupExtender1.Show();
}
我希望有人可以帮助我。 非常感谢,Laziale
答案 0 :(得分:1)
由于Pauls链接不再有效,这里是SO
上类似问题的答案PopUpExtender on ImageButton inside GridView problem
答案中的链接与Pauls答案的来源相同,当我检查时它们也已死亡。但是在该答案中有一个代码摘要。这应该对你有帮助。
答案 1 :(得分:0)
Here是我学习如何使用ModalPopupExtender的地方。也许值得一读这个例子,看看它是否适合你的情况。
我想通过查看代码,将modalpopup的相关按钮设置为gridview行控件会导致问题。
答案 2 :(得分:0)
我过去所做的是将每行设置为“UserControl
display:none
并绑定所有属性,这样当modalpopupextener显示时,它就是好的。然后,您将处理UserControl
中的回发,该回发将具有您需要的所有状态:
<ItemTemplate>
<asp:Button ID="btnEdit" CausesValidation="false" runat="server" Text="Edit" OnClick="Activatee" />
<ajaxToolkit:ConfirmButtonExtender ID="btnDeactivatePopup" runat="server" TargetControlID="btnEdit" DisplayModalPopupID="ModalPopupDeactivate" />
<ajaxToolkit:ModalPopupExtender OnPreRender="getData" ID="ModalPopupDeactivate" runat="server" TargetControlID="btnEdit"
PopupControlID="pnlActivate" OkControlID="btnDeactivateOK" CancelControlID="btnDeactivateCancel"
BackgroundCssClass="modalBackground" DynamicServicePath="" Enabled="true" />
<cc1:YourEditControl id="pnlActivate" runat="server" Propertry1='<%# Eval("data1")%>' Proptery2='<%# Eval("data2")%>' />
</ItemTemplate>