0

这是VB代码:

 Dim button As New Button
 Dim xpanel As New Panel
 button.Text = "Submit"
 button.ID = "button"
 button.Height = "40"
 button.Attributes.Add("Autopostback", "true")
 button.Attributes.Add("Onclick", "Submit_Click") <----commented
 button.Attributes.Add("RunAt", "server")
 Dim trigger As New AsyncPostBackTrigger()
 trigger.ControlID = "button"
 trigger.EventName = "Submit_Click"
 AddHandler button.Click, AddressOf Submit_Click
 xpanel.Controls.Add(button)
 Dim literalx As New Literal
 submitplaceholder.Controls.Add(literalx)
 submitplaceholder.Controls.Add(xpanel)

设置是:从更新面板内部,单击一个按钮,该按钮会在页面底部的隐藏按钮上触发 javascript(thatbutton.onclick 函数),然后依次在 ajaxtoolkit:ModalPopupExtender 上执行“单击”,导致弹出一个模式窗口,该窗口在 page_load 上使用上面的按钮动态填充(以及其他信息,但这对此并不重要)。到目前为止,还没有回帖。

现在我们点击了那个页面的按钮。我希望它回发并调用函数 Submit_Click。我不在乎这个函数实际上被调用了什么,我知道 _Click 是保留的,但尽管如此:它会触发函数但总是出错,这会导致不良行为。

有些事情不对劲,我这辈子都想不出要尝试的其他事情。使用属性 O​​nClick 然后使其自动回发似乎不适用于动态填充控件。有什么想法吗?

4

1 回答 1

2

button.Attributes 是 HTML 属性的集合,因此不会按您想要的方式工作。

试试这个:

button.UseSubmitBehavior = True
AddHandler button.Click, AddressOf  Submit_Click

代替

button.Attributes.Add("Autopostback", "true")
button.Attributes.Add("Onclick", "Submit_Click") <----commented
button.Attributes.Add("RunAt", "server")
于 2012-10-22T16:05:26.653 回答