简体   繁体   中英

how can i use button click event and onclientclick together

I want to create a dynamic button when click a pop up appear and user key in then submit.

First of all I have dynamic button created depends on the table row

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);
}

then I have the popup created using ajax:

 <ajaxToolkit:ModalPopupExtender ID="ModalPopupExtender1" runat="server"
    TargetControlID="1"
    BehaviorID="popup1" 
    PopupControlID="Panel1"
    DropShadow="true"
    CancelControlID="Button3"
    OnOkScript="OkButtonClick"
    BackgroundCssClass="BackgroundStyle" />

then I have created click event

protected void btnReject_click(object sender, EventArgs e)
{
    //code
}

Currently looks like it only run Onclientclick event where the popup appear but it wont go in to btnReject_click. but if i remove the onclientclick, it will be able to go in the btnReject_click.

My way of doing is weird because i dont know how to use asp.net and most of my code i put it in server side (c#).

if you using jQuery then

$("selector").on('click',function(){
 // your code here
});

Within your OnClientClick you return false; . Anything after that is not executed so the postback never happens. Remove the return and the postback should fire.

tb.OnClientClick = $find('popup1').show();__doPostBack('btnReject_click','');";

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM