在jquery模式对话框中使用asp:gridview和添加新行按钮
我有一个带有多个模板字段(用于下拉列表)的网格视图,如果我将其放置在我用作模式对话框的DIV之外,它就可以正常工作。 网格有onrowdatabound和OnRowDeleting事件,另外还有一个按钮,用于向网格添加新行。当我试图将此网格移动到模式对话框时,“添加”按钮停止工作。点击事件以代码隐藏方式编码,不会触发。有人能帮我理解我该怎么处理吗? 任何帮助都将不胜感激。先谢谢你在jquery模式对话框中使用asp:gridview和添加新行按钮,jquery,asp.net,gridview,Jquery,Asp.net,Gridview,我有一个带有多个模板字段(用于下拉列表)的网格视图,如果我将其放置在我用作模式对话框的DIV之外,它就可以正常工作。 网格有onrowdatabound和OnRowDeleting事件,另外还有一个按钮,用于向网格添加新行。当我试图将此网格移动到模式对话框时,“添加”按钮停止工作。点击事件以代码隐藏方式编码,不会触发。有人能帮我理解我该怎么处理吗? 任何帮助都将不胜感激。先谢谢你 <div id="dialog" > <asp:GridView ID="grPlan" run
<div id="dialog" >
<asp:GridView ID="grPlan" runat="server"
ShowFooter="True"
AutoGenerateColumns="False"
CellPadding="4" ForeColor="#333333"
GridLines="None"
onrowdatabound = "GridView_RowDataBound"
OnRowDeleting = "GridView_RowDeleting" >
<Columns>
<asp:BoundField HeaderText="ID" DataField="id" />
<asp:TemplateField HeaderText="Program>">
<ItemTemplate >
<asp:DropDownList ID="ddlProgModal2" runat="server" AppendDataBoundItems="true" AutoPostBack="false" DataTextField="Prog"
DataValueField="ProgID" />
</ItemTemplate >
</asp:TemplateField>
<asp:TemplateField HeaderText="EF">
<ItemTemplate >
<asp:DropDownList ID="ddlAnneeFiscaleModal2" DataTextField="EtendueLong" DataValueField="EtendueLong" runat="server"
AppendDataBoundItems="true" AutoPostBack="false"/>
</ItemTemplate >
</asp:TemplateField>
<asp:TemplateField HeaderText="Approbations">
<ItemTemplate >
<asp:DropDownList ID="ddlApprobationModal2" runat="server" AppendDataBoundItems="true" AutoPostBack="false"
DataTextField="Approb" DataValueField="ApprobationID"/>
</ItemTemplate >
</asp:TemplateField>
<asp:TemplateField HeaderText="Fonds">
<ItemTemplate >
<asp:TextBox ID="txtFondsModal2" runat="server" AutoPostBack="false" MaxLength="15" Width = "120" onkeypress="return
validateFloatKeyPress(this,event);" />
</ItemTemplate >
<FooterStyle HorizontalAlign="Right" />
<FooterTemplate>
<asp:Button ID="ButtonAdd" runat="server" Text="Add" OnClick="ButtonAdd_Click" />
</FooterTemplate>
</asp:TemplateField>
<asp:CommandField ShowDeleteButton="True" />
</Columns>
<FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<RowStyle BackColor="#EFF3FB" />
<EditRowStyle BackColor="#2461BF" />
<SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
<PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
<HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="Black" />
<AlternatingRowStyle BackColor="White" />
</asp:GridView>
</div>
$(“#对话框”)。对话框({
自动打开:错误,
莫代尔:错,
宽度:600,
身高:520,
可调整大小:false,
closeOnEscape:错误,
打开:功能(事件、用户界面){
//调试器;
$(“.ui对话框标题栏关闭”).hide();
$('.ui dialog').css(“左”,“400px”);
$('.ui dialog').css(“top”,“300px”);
$('.ui dialog').css(“位置”、“绝对”);
},
标题:“”,
按钮:{
取消:函数(){
$(this.dialog('close');
},
“确定”:函数(){
$(this.dialog('close');
返回true;
}
}
}); 有三种方法可以做你想做的事 1) 将
gridview
包装在UpdatePanel
中,然后将PostbackTrigger
设置为添加按钮控件
2) 您可以使用gridview.row命令
事件。它处理gridview
单元格中所有与按钮相关的事件
3) 您可以使用
jquery
强制按钮上的postback
,使用\uuu dopostback()
HelloThank非常感谢您的回答。我已经尝试了第一个,因为它看起来很简单-但它不起作用我已经尝试了第一个(在前端添加了postbacktrigget,在使用脚本管理器尝试代码隐藏之后)。当我打开模态对话框并单击按钮时,没有出现任何错误。它不会从Jquery对话框触发click事件。第二个选择也不起作用。我的按钮不在gridview单元格中-它位于网格页脚中,或者可以放置在网格的另一侧。单击它会向网格中添加一个新行(带有模板字段),然后进行行绑定。第三个选项:我搞砸了。我浏览了这个示例,并在页面加载上添加了所有输入和函数uu doPostBack以及Request.Form[“uu EVENTTARGET”],但当我运行应用程序时,我在document.Form1.u EVENTTARGET.value=EVENTTARGET上遇到了一个错误。如果我的页面上没有标题或正文(它在Master中),而我的html在updatepanel/contentTemplate中)。我是否应该将此函数和Request.Form[“\uu EVENTTARGET”]移动到Master?非常感谢你的帮助。我最近刚开始使用jQuery,感觉很失落。