Javascript 调用 VB 回发函数导致意外的调用错误

标签 javascript asp.net ajax vb.net modalpopupextender

这是 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)

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

现在我们已经单击了该页面的按钮。我希望它回发并调用函数 Submit_Click。我不关心该函数实际被调用的是什么,并且我知道 _Click 是保留的,但尽管如此:它会触发该函数,但总是会出错,从而导致不良行为。

有些事情不对劲,我一生都想不出还有什么可以尝试的。使用 OnClick 属性然后使其自动回发似乎不适用于动态填充控件。 有什么想法吗?

最佳答案

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")

关于Javascript 调用 VB 回发函数导致意外的调用错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12982810/

相关文章:

c# - 使用 OpenID 进行网站认证

php - 通过 jQuery ajax() 向 PHP 发送多个复选框数据

php - Jquery和PHP更新mysql数据库

javascript - 如何使用 ajax javascript php 将大型 json 数据(250kb)发送到 mysql 数据库

javascript - 如何在createdRow函数中创建colspan?

javascript - 内部指令单击功能添加具有不同范围的 TextBox 元素

javascript - 如何在海边应用程序中嵌入谷歌分析脚本(新版本)

javascript - 需要帮助理解 JQuery 的 noConflict() 函数中发生的情况

c# - 返回数据集值给出错误

javascript - 如何禁用第 3 方引入的 JavaScript 事件处理程序?