我想在点击弹出窗口并输入用户密钥时创建一个动态按钮,然后提交。
首先,我创建的动态按钮取决于表格行
TableCell tc;
for (int i = 1; i < Approval_TBL.Rows.Count; i++)
{
TableRow tr = Approval_TBL.Rows[i];
tr.Cells.Add(tc = new TableCell());
Button tb = new Button();
tb.ID = Convert.ToString(i);
tb.Text = "Reject";
tb.CssClass = "btn btn-default";
tb.OnClientClick = "javascript:$find('popup1').show();return false;__doPostBack('btnReject_click','')";
tb.Click += new EventHandler(btnReject_click);
tc.Controls.Add(tb);
}
然后我使用ajax创建了弹出窗口:
<ajaxToolkit:ModalPopupExtender ID="ModalPopupExtender1" runat="server"
TargetControlID="1"
BehaviorID="popup1"
PopupControlID="Panel1"
DropShadow="true"
CancelControlID="Button3"
OnOkScript="OkButtonClick"
BackgroundCssClass="BackgroundStyle" />
然后我创建了点击事件
protected void btnReject_click(object sender, EventArgs e)
{
//code
}
目前看起来它只运行弹出窗口的Onclientclick事件,但它不会进入btnReject_click。但如果我删除onclientclick,它将能够进入btnReject_click。
我的做法很奇怪,因为我不知道如何使用asp.net和我的大多数代码我把它放在服务器端(c#)。
答案 0 :(得分:0)
如果你使用jQuery那么
$("selector").on('click',function(){
// your code here
});
答案 1 :(得分:0)
在OnClientClick
你return false;
内。之后的任何事情都没有执行,所以回发永远不会发生。取消返回并且应该触发回发。
tb.OnClientClick = $find('popup1').show();__doPostBack('btnReject_click','');";