我在asp:UpdatePanel中有一些代码,点击一个按钮后。它将隐藏标签并用可编辑的文本框替换它。此功能在UpdatePanel中都可以正常工作,但是在单击此按钮进行调用(也在UpdatePanel内部)之后,它会导致在UpdatePanel之外和之外出现的asp:LinkButtons不再起作用。这些链接在与UpdatePanel内部的控件交互之前工作,但在事后停止工作。值得注意的是,这些链接按钮是动态创建的,并附加到后面的现有div中,并且不在UpdatePanel内部导致此问题。为了更好的衡量,我尝试调用方法,每当更新面板回调服务器时动态创建并附加这些控件,但无济于事。
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<label class="reportModeLabel">Primary Mode: </label>
<div id="divShowMode" runat="server" class="inlineItem">
<asp:Label ID="lblPrimaryMode" runat="server"></asp:Label>
<asp:LinkButton ID="lnkPrimaryMode" runat="server" CssClass="clickOnce" OnClick="lnkPrimaryMode_Click">
<asp:Image ID="imgChangePrimaryMode" runat="server" CssClass="imgReportUpdateMenuItem" ImageUrl="~/Images/Edit.png" />
</asp:LinkButton>
</div>
<div id="divUpdateMode" runat="server" class="inlineItem" >
<asp:DropdownList ID="ddlModeOfTransmission" runat="server" Width="40%" CssClass="metaItemDropdown">
<asp:ListItem Text="Food" Value="1"></asp:ListItem>
<asp:ListItem Text="Water" Value="2"></asp:ListItem>
<asp:ListItem Text="Animal" Value="3"></asp:ListItem>
<asp:ListItem Text="Person to Person" Value="4"></asp:ListItem>
<asp:ListItem Text="Environmental" Value="5"></asp:ListItem>
<asp:ListItem Text="Other/Unknown" Value="6"></asp:ListItem>
</asp:DropdownList>
<asp:LinkButton ID="lnkPrimaryModeSave" runat="server" CssClass="clickOnce" OnClick="lnkPrimaryModeSave_Click">
<asp:Image ID="imgPrimaryModeSave" runat="server" ImageUrl="~/Images/Check-Selected.png" />
</asp:LinkButton>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<div class="divWizardMenu">
//The link button controls that no longer work after using the
//UpdatePanel are dynamically created on server and added here
<ul id="ulMainMenu" runat="server"/>
</div>
//UpdatePanel ajax calls
protected void lnkPrimaryMode_Click(object sender, EventArgs e)
{
divShowMode.Visible = false;
divUpdateMode.Visible = true;
ddlModeOfTransmission.SelectedValue = Record.PrimaryModeOfTransmissionID.ToString();
}
protected void lnkPrimaryModeSave_Click(object sender, EventArgs e)
{
divUpdateMode.Visible = false;
divShowMode.Visible = true;
}
答案 0 :(得分:0)
您是否在创建动态创建的LinkButtons时为其分配ID?
我认为他们需要设置ID才能在Postback上重新启动事件。