gpt4 book ai didi

c# - Ajax 和简单按钮事件处理程序不起作用

转载 作者:行者123 更新时间:2023-11-30 18:02:22 25 4
gpt4 key购买 nike

我遇到了 Ajax 和 C# asp.net 的问题。我正在使用 Microsoft Visual Studio 2010。

首先让我解释一下我的网页。

我有脚本管理器,在它的正下方有一个更新面板。

这是我一直在摆弄的动态占位符。

http://www.denisbauer.com/ASPNETControls/DynamicControlsPlaceholder.aspx

在我的更新面板中,我有一个动态控件和一个按钮。

<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<asp:ScriptManager ID="ScriptManager1" runat="server" >
</asp:ScriptManager>

<asp:UpdatePanel ID="UpdatePanel1" runat="server">

<ContentTemplate>
<DBWC:DynamicControlsPlaceholder ID="DynamicControlsPlaceholder1"
runat="server">
</DBWC:DynamicControlsPlaceholder>
<br />

<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />

</ContentTemplate>

<Triggers>
<asp:AsyncPostBackTrigger ControlID="Button1" EventName="Click" />
</Triggers>

</asp:UpdatePanel>

</asp:Content>

现在在我后面的代码中:

我只是将 5 个文本框添加到一个动态控件中。页面加载;

protected void Page_Load(object sender, EventArgs e)
{

if (!Page.IsPostBack)
{
ViewState["id"] = 0;
int id = (int)ViewState["id"];

for (int i = 0; i < 5; i++)
{
id++;
TextBox txt = new TextBox();
txt.ID = id.ToString();
DynamicControlsPlaceholder1.Controls.Add(txt);
txt.Text = i.ToString();
}
ViewState["id"] = id;
}

}

现在我的按钮所做的就是将另一个 TextBox 添加到动态控制面板。

protected void Button1_Click(object sender, EventArgs e)
{


int id = (int)ViewState["id"];

TextBox txt = new TextBox();
txt.ID = id.ToString();
DynamicControlsPlaceholder1.Controls.Add(txt);
// DynamicControlsPlaceholder1.DataBind();
txt.Text = id.ToString();

id++;
ViewState["id"] = id;

}

* 请注意,我使用的是自定义动态控制面板,因此即使我们在 !Page.IsPostBack 中创建它们,它们的 ID 也会保存到下一页

问题是我的按钮事件处理程序只工作一次。我很确定这是因为 Ajax 正在调用部分回发并且它没有识别它来调用我的按钮事件处理程序。

我不确定,请提供任何帮助。

最佳答案

Firebug 在调试 ajax 方面有奇效。 “有多个控件具有相同的 ID '5'。”

多么简单的修复。将 id++; 移动到 Button1_Click 事件处理程序的顶部。

如果您只是因为断点没有在事件处理程序中触发而假设 ajax 正在破坏您的事件处理程序,那么 firebug 也可以拯救您!

事件处理程序绝对没有问题,但其中的代码导致了错误,而 ajax 不允许它中断。

关于c# - Ajax 和简单按钮事件处理程序不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8156085/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com