asp.net按钮/ linkbutton webcontrol动态添加在bootstrap模态体中不回发

时间:2015-05-07 04:05:42

标签: c# jquery asp.net twitter-bootstrap modal-dialog

我已经动态地在html表中添加了linkbutton并添加到bootstrap模式的主体中。 (linkbutton编码linkbutton.click + = new eventhandler(Eventclick1);)

enter image description here

但是,当我点击选择时,它将不会转到我的函数Eventclick1。它只刷新整个页面。 (它已经在updatepanel内)。无论如何我可以让select按钮回发? (我不想添加像onclientclick = $('#otherbutton').click();

这样的客户端点击功能

更新

lnk_button.ID = this.ID + "AuditSelectedRow_" + Convert.ToString(l_loop); 
lnk_button.Click += new EventHandler(OnAuditRowSelected);
lnk_button.Text = "Select"; 
WebControl wc_tdSelect = new WebControl(HtmlTextWriterTag.Td); 
wc_tdSelect.Controls.Add(lnk_button);

5 个答案:

答案 0 :(得分:0)

我遇到类似问题的模态弹出窗口问题基本上(如上所述)是asp.net控件在事件和/或JS函数注册时的呈现顺序。< / p>

解决的一种方法是手动渲染HTML控件,以便控制它的名称和渲染时间。

答案 1 :(得分:0)

首先确保Updatepanel内的自定义webcontrol在页面生命周期结束时仍然存在。我假设您正在调用一个函数,您将链接按钮添加到webcontrol。像这样的东西:

// Custom function Creating link buttons

private void CreateControls() {

// Create your link buttons here.

}

现在尝试在页面pre-init方法中再次调用相同的函数,以确保在按钮单击事件时控件仍然存在。像这样的东西:

//Page Pre Init
protected void Page_PreInit(object sender, EventArgs e)
{
CreateControls();
}

确保在上面列出的相同功能中将网页控件添加到updatepanel。以下是将webcontrol附加到updatepanel的示例代码。

yourUpdatePanel.ContentTemplateContainer.Controls.Add(wc_tdSelect);

我相信这次你会得到你想要的结果:)

答案 2 :(得分:0)

一般来说,你应该避免使用动态控件,你应该在div中设计时添加按钮,并在客户端显示/隐藏该div以便弹出。

看一下这个帖子: -

stackoverflow

答案 3 :(得分:0)

您可以像示例中那样使用ASP按钮

DEBUG: .../IO/Socket/SSL.pm:220: set domain to 2
DEBUG: .../IO/Socket/SSL.pm:1653: new ctx 1984680
DEBUG: .../IO/Socket/SSL.pm:363: socket not yet connected
DEBUG: .../IO/Socket/SSL.pm:365: socket connected
DEBUG: .../IO/Socket/SSL.pm:383: ssl handshake not started
DEBUG: .../IO/Socket/SSL.pm:446: Net::SSLeay::connect -> -1
DEBUG: .../IO/Socket/SSL.pm:1328: SSL connect attempt failed with unknown error error:14082174:SSL routines:SSL3_CHECK_CERT_AND_ALGORITHM:dh key too small

DEBUG: .../IO/Socket/SSL.pm:452: fatal SSL error: SSL connect attempt failed with unknown error error:14082174:SSL routines:SSL3_CHECK_CERT_AND_ALGORITHM:dh key too small
DEBUG: .../IO/Socket/SSL.pm:1328: IO::Socket::INET6 configuration failed error:00000000:lib(0):func(0):reason(0)

DEBUG: .../IO/Socket/SSL.pm:1690: free ctx 1984680 open=1984680
DEBUG: .../IO/Socket/SSL.pm:1698: OK free ctx 1984680
failed connect or ssl handshake: ,IO::Socket::INET6 configuration failed error:00000000:lib(0):func(0):reason(0) at ./spare line 9.

答案 4 :(得分:0)

以下内部页面加载:

ScriptManager scriptManager = ScriptManager.GetCurrent(this.Page);
scriptManager.RegisterPostBackControl(this.OnAuditRowSelected);