У меня есть несколько действительно случайная проблема, которую я просто не могу понять.
На моем веб-сайте есть страница, на которой после выбора значения из DropDownList автоматически генерируется форма (текстовое поле с кнопкой для ее подтверждения).
Проблема в том, что кнопка ничего не делает. Кажется, он не связан с созданным мною методом, который я нахожу очень странным, учитывая, что я использовал очень похожий код для другой страницы, и он работал просто отлично.
Вот ASP.NET:
<asp:Content ID="Content3" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<asp:DropDownList ID="PossibleItems" OnSelectedIndexChanged="PossibleItems_SelectedIndexChanged" AutoPostBack="true" runat="server">
<asp:ListItem Selected="true" Value="defaultValue">Select an item</asp:ListItem>
<asp:ListItem Value="Purpose" Text="Purpose"></asp:ListItem>
<asp:ListItem Value="Currency" Text="Currency"></asp:ListItem>
<asp:ListItem Value="PaymentMethod" Text="Payment Method"> </asp:ListItem>
</asp:DropDownList>
<asp:GridView ID="ItemNamesList" runat="server"></asp:GridView>
<asp:Label ID="ItemName" runat="server" Text="Label"></asp:Label>
<asp:Panel ID="AddItemForm" runat="server">
</asp:Panel>
</asp:Content>
Вот код:
protected void PossibleItems_SelectedIndexChanged(object sender, EventArgs e)
{
// Generate the form
generateForm();
}
protected void generateForm()
{
// if the administrator wants to create a new payment method
else if (PossibleItems.SelectedValue.Equals("PaymentMethod"))
{
Label pmName = new Label();
pmName.Text = "Payment method name : ";
TextBox pmNameTB = new TextBox();
AddItemForm.Controls.Add(pmName);
AddItemForm.Controls.Add(pmNameTB);
AddItemForm.Controls.Add(new LiteralControl("<br />"));
// IMPORTANT PART: THIS IS WHERE I CREATE THE BUTTON
Button pmBTN = new Button();
pmBTN.Text = "Create";
pmBTN.Click += (sender1, EventArgs) => { addPaymentMethod(sender1, EventArgs); };
AddItemForm.Controls.Add(pmBTN);
}
}
protected void addPaymentMethod(object sender, EventArgs e)
{
Response.Redirect("AddChange.aspx?id=18");
}
}
Я попытался удалить как можно больше пуха.
Спасибо за ваше время.