C# 更新面板不存在';似乎没有更新
我在gridview的模板字段中有一个按钮。单击此按钮,我想打开一个模式弹出窗口,同时强制更新模式弹出窗口中的updatepanel和formview,因为formview的数据源取决于单击后我正在设置的隐藏字段 这就是我目前所拥有的C# 更新面板不存在';似乎没有更新,c#,asp.net,vb.net,visual-studio,modalpopupextender,C#,Asp.net,Vb.net,Visual Studio,Modalpopupextender,我在gridview的模板字段中有一个按钮。单击此按钮,我想打开一个模式弹出窗口,同时强制更新模式弹出窗口中的updatepanel和formview,因为formview的数据源取决于单击后我正在设置的隐藏字段 这就是我目前所拥有的 protected void bttnEdit_Click2(object sender, ImageClickEventArgs e) { ImageButton bttnEdit = (ImageButton)sender; HiddenFi
protected void bttnEdit_Click2(object sender, ImageClickEventArgs e)
{
ImageButton bttnEdit = (ImageButton)sender;
HiddenField HiddenField1 = (HiddenField)FormView1.FindControl("HiddenField1");
HiddenField1.Value = bttnEdit.CommandArgument;
UpdatePanel UpdatePanel3 = (UpdatePanel)FormView1.FindControl("UpdatePanel3");
AjaxControlToolkit.ModalPopupExtender ModalPopupExtender1 = (AjaxControlToolkit.ModalPopupExtender)FormView1.FindControl("ModalPopupExtender1");
ModalPopupExtender1.Show();
FormView3.DataBind();
UpdatePanel3.Update();
}
我看到了弹出窗口,但里面没有任何内容。我做错了什么?
<asp:TemplateField ShowHeader="False">
<EditItemTemplate>
</EditItemTemplate>
<ItemTemplate>
<asp:UpdatePanel ID="UpdatePanel21" runat="server">
<ContentTemplate>
<asp:ImageButton ID="bttnEdit" CommandArgument = '<%# Eval("Id") %>' runat="server" OnClick ="bttnEdit_Click2" injid='<%# Eval("Id") %>' causeid='<%# Eval("C_Type") %>' natureid='<%# Eval("n_type") %>' CausesValidation="False" ImageUrl="~/images/bttnEdit.gif" Text="Edit" OnClientClick ="loadmodal(this.injid,this.causeid,this.natureid);" />
</ContentTemplate>
</asp:UpdatePanel>
<asp:ImageButton ID="ImageButton2" runat="server" CausesValidation="False" CommandName="Delete" ImageUrl="~/images/bttnDelete.gif" Text="Delete" />
</ItemTemplate>
编辑伤害
是什么事件导致了受伤
////东西
模式中的FormView名为FormView2,但代码数据库绑定为FormView3。
你可能碰巧绑定了错误的表单视图你是对的。我修好了。但是我仍然有同样的问题。我强烈建议你的控件使用有意义的名称,这样可以更容易地避免这种情况。只需为UpdatePanels添加一个前缀upl_uu,为FormView添加一个前缀fmv_u,然后在FormView1中的变量Is UpdatePanel3的末尾添加它们的用途?从你的密码我看不出来shown@Jmein是的,它位于Formview1的内部。你也知道,可读性非常重要。但是时间不允许它用于这个项目。formview被包装在一个updatepanel中。当我把它包装在updatepanel中时,我开始出现这个错误。
<asp:Panel ID = "Pnlmodal" runat ="server" style="background-color:White; padding:1em 6px;">
<asp:UpdatePanel ID="UpdatePanel3" runat="server" UpdateMode ="Conditional" ChildrenAsTriggers ="true" >
<Triggers>
<asp:AsyncPostBackTrigger ControlID ="Button1" EventName ="Click" />
</Triggers>
<ContentTemplate>
<asp:FormView ID="FormView2" runat="server" DefaultMode ="Edit" DataSourceID ="SqlDataSource8">
<EditItemTemplate>
<table>
<tr>
<td colspan="2" align="center" style="color:Blue;font-size:large">Edit Injury</td>
</tr>
<tr>
<td align="right" ><strong>What event caused the injury </strong></td>
<td align="left"> <asp:UpdatePanel ID="UpdatePanel14" runat="server">
<ContentTemplate>
////stuff
</ContentTemplate>
</UpdatePanel>