У меня есть элемент управления LinkButton, к которому мне нужно добавить метод c #. В настоящее время, когда я использую контроль синтаксического анализа и добавляю элемент управления на страницу, он изменяет вызов javascript, и я получаю неопределенное значение. Я думаю, что можно обойти это путем определения функции javascript, которая будет вызывать метод c # из кода, но я не могу понять, как это сделать.
В частности, когда нажимается кнопка ссылки Мне нужен JavaScript, чтобы передать идентификатор кнопки ссылки методу C # .
Я пробовал это:
foreach (Control Control in myctrl.Controls)
{
if (Control is LinkButton)
{
LinkButton lb = (LinkButton)Control;
lb.Click += LinkButton_Click;
}
Panel1.Controls.Add(myctrl);
}
public void LinkButton_Click(Object sender, EventArgs e)
{
BREAKPOINTHERE> Console.Write(e.ToString());
}
Никогда не срабатывает при нажатии. вот сгенерированный код:
<a id="dnn_ctr954_ViewPromotions_LinkButton2" href="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("dnn$ctr954$ViewPromotions$LinkButton2", "", true, "", "", false, true))">Get your Free 2</a>
Теперь, если я добавлю это на мою страницу aspx, все будет работать нормально:
<asp:LinkButton ID="test" OnClick="LinkButton_Click" runat="server">mybutton</asp:LinkButton>
Я получил это, и он отлично работает:
<a id="dnn_ctr954_ViewPromotions_test" href="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("dnn$ctr954$ViewPromotions$test", "", true, "", "", false, true))">mybutton</a>