У меня проблема с 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
Проблема в том, что мой обработчик событий кнопки работает только один раз.Я уверен, что это потому, что Ajax вызывает частичный постбэк, и он не распознает его, чтобы вызвать мой обработчик событий кнопки.
Я не уверен, что любая помощь оценена.