Я предполагаю, что это может быть связано с с этим , но, к сожалению, обходной путь, похоже, не работает в этом случае.до самого простого случая.Это не работает.
public class MyButton : Control
{
public MyButton()
: base()
{
LinkButton but = new LinkButton();
but.CommandName = "test";
but.CommandArgument = "test2";
but.Text = "Click Here";
Controls.Add(but);
}
}
Что делает:
<a href="javascript:__doPostBack('ctl00$ctl11$ctl07','')">Click Here</a>
Здесь есть две основные проблемы.Во-первых, нет идентификатора.Должен иметь тег id='ctl00$ctl11$ctl07'
.Таким образом, даже при том, что это отправит, события никогда не будут захвачены.
Во-вторых, он игнорирует CommandName и CommandArgument, в любом случае он должен отображать __doPostBackWithOptions
.
Неужели я очень глуп и просто упускаю из виду что-то очевидное, или это огромная ошибка в ASP.NET??
Я делал это много раз раньше, когда внутри Control
или WebControl
отображалось много других элементов управления, и никогда не возникало проблем, поэтому он должен иметь отношение к простоте, а не ксложность, я думаю.
Если кто-нибудь может помочь мне решить эту проблему, это будет очень цениться.