如何在使用onclientclick时执行服务器端代码 [英] how to execute server side code when onclientclick is used

查看:91
本文介绍了如何在使用onclientclick时执行服务器端代码的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想要的是在填写注册表格后会显示一个确认框,显示单击确定确认或取消更新。单击确定时,我想执行存储过程和服务器端代码。我想在点击确定按钮后执行以下代码

我该怎么办?请任何人帮助我。



what I want is after filling the registration form a confirm box is displayed which shows "click ok to confirm or cancel to update". When clicked on ok I want to execute the stored procedure and the server side code. I want to execute the below code after clicking on "ok" button
How Should I do this. Please anyone help me.

cmd.Parameters.Clear();
           cmd.CommandType = CommandType.StoredProcedure;

           cmd.Parameters.AddWithValue("@mode", "confirmlog");
           cmd.Parameters.AddWithValue("@username", Session["usern"]);
           cmd.Parameters.AddWithValue("@appid", Session["appid"]);
           cmd.Parameters.AddWithValue("@userip", Request.UserHostAddress);
           cmd.Parameters.Add("@retval", SqlDbType.Int).Direction = ParameterDirection.ReturnValue;
           cmd = ce.exe_procedure("sp_getstudent_info", cmd);
           int j = Convert.ToInt16(cmd.Parameters["@retval"].Value);
           DataSet Ds1 = new DataSet();
           if (i == 1)
           {
               ServiceReference1.ServiceClient SendChl = new ServiceReference1.ServiceClient();
               SqlCommand cmd1 = new SqlCommand();
               cmd1.Parameters.AddWithValue("@ChallanNo", Session["appid"].ToString());
               cmd1 = ce.exe_procedure("Reg_Convo_GetInfo_ByChallan", cmd1);
               Ds1 = ce.executeprocedure_Dataset(cmd1);
               if (Ds1.Tables[0].Rows[0][0].ToString() != "")
               {
                   string s = Ds1.Tables[0].Rows[0][0].ToString();
                   SendChl.ImportChallanXML(Session["appid"].ToString(), s);
               }
               if (Convert.ToString(Session["AmtType"]) == "Online Payment")
               {
                   Response.Redirect("must go to online payment gateway"] + "");
               }
               else
               {
                   Response.Redirect("Loginnext.aspx");
               }
           }

推荐答案

添加 OnClick =btnOk_Click 属性为 Ok按钮

确保 Ok按钮 runat =服务器属性设置。



然后将代码放在 btnOk_Click 事件中。

Add OnClick="btnOk_Click" attribute to the Ok Button.
Make sure Ok Button has runat="server" attribute set.

Then place the code inside btnOk_Click Event.
protected void btnOk_Click(Object sender, EventArgs e)
{
    // Your code here.
}


您可以使用onclientclick返回true或false(这是您显示确认消息的方式)如果返回true,则将触发服务器端单击。或者您可以通过ASP.NET AJAX或jquery使用AJAX来提交数据。



ASP.NET非常糟糕,你应该开始学习MVC,因为我无法想象任何新项目使用webforms的任何理智的原因。
You can use onclientclick to return true or false ( that's how you show a confirmation message ) and if it returns true, the server side click will fire. Or you can use AJAX, via ASP.NET AJAX or via jquery, to submit your data.

ASP.NET is pretty awful, you should set out to learn MVC instead because I can't imagine any sane reason for any new project to use webforms.


cmd.Parameters.Clear();
cmd.CommandType = CommandType.StoredProcedure;

cmd.Parameters.AddWithValue("@mode", "confirmlog");
cmd.Parameters.AddWithValue("@username", Session["usern"]);
cmd.Parameters.AddWithValue("@appid", Session["appid"]);
cmd.Parameters.AddWithValue("@userip", Request.UserHostAddress);
cmd.Parameters.Add("@retval", SqlDbType.Int).Direction = ParameterDirection.ReturnValue;
cmd = ce.exe_procedure("sp_getstudent_info", cmd);
int j = Convert.ToInt16(cmd.Parameters["@retval"].Value);
DataSet Ds1 = new DataSet();
if (i == 1)
{
    ServiceReference1.ServiceClient SendChl = new ServiceReference1.ServiceClient();
    SqlCommand cmd1 = new SqlCommand();
    cmd1.Parameters.AddWithValue("@ChallanNo", Session["appid"].ToString());
    cmd1 = ce.exe_procedure("Reg_Convo_GetInfo_ByChallan", cmd1);
    Ds1 = ce.executeprocedure_Dataset(cmd1);
    if (Ds1.Tables[0].Rows[0][0].ToString() != "")
    {
        string s = Ds1.Tables[0].Rows[0][0].ToString();
        SendChl.ImportChallanXML(Session["appid"].ToString(), s);
    }
    if (Convert.ToString(Session["AmtType"]) == "Online Payment")
    {
        Response.Redirect("must go to online payment gateway"] + "");
    }
    else
    {
        Response.Redirect("Loginnext.aspx");
    }
}





这就是你要找的东西。

谢谢大家。



that is all what you were looking for.
Thanks to all.


这篇关于如何在使用onclientclick时执行服务器端代码的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆