如何从javascript调用c#按钮单击方法?

我试图从javascript函数调用服务器端按钮单击方法,但它不工作,我可以知道我在哪里做错了吗?

aspx代码:

 

Javascript代码:

 function CountDownTick() { if (_currentSeconds <= 0) { document.getElementById('').click(); return; } SetCountdownText(_currentSeconds-1); window.setTimeout("CountDownTick()", 1000); } 

C#按钮点击:

 protected void ButtonFns_Click(object sender, EventArgs e) { SqlConnection con = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Examination.mdf;Integrated Security=True;User Instance=True"); try { con.Open(); string snm; string Em; string Sx; string uname = Session["status"].ToString(); string qry = "SELECT SName,Email,Sex FROM Students WHERE Uname=@uname"; SqlCommand cm = new SqlCommand(qry, con); cm.Parameters.AddWithValue("@uname", uname); SqlDataReader reader = cm.ExecuteReader(); while (reader.Read()) { snm = reader["SName"].ToString(); Em = reader["Email"].ToString(); Sx = reader["Sex"].ToString(); if (snm != null && Em != null && Sx != null) { Session["snm"] = snm.ToString(); Session["em"] = Em.ToString(); Session["sx"] = Sx.ToString(); Session["uname"] = uname; Session["RAns"] = LabelRitAns.Text; Session["Tatt"] = LabelTotAtt.Text; Server.Transfer("YourScore.aspx"); break; } } } catch (Exception emsg) { LabelErr.Text= emsg.Message.ToString(); } finally { con.Close(); } } 

任何帮助,将不胜感激..

使用为JavaScript公开的__doPostBack方法。 如果传入按钮的ID和事件名称,它实际上会执行与服务器相同的回发,就像用户单击按钮一样。

使用JavaScript的ASP.NET回发 (这使用VB代码隐藏,但我认为你需要做其他事情)

编辑:只是澄清,而不是调用按钮的“单击”方法,而是使用__doPostBack。

EDITx2:另外,请确保您的OnClientClick返回值为true。 如果它是假的,我认为它相当于说它无效并且不应该做回发。

 ButtonFns.Attributes.Add("onclick", Page.ClientScript.GetPostBackEventReference(ButtonFns, "Your postback argument")); 

GetPostBackEventReference允许您获取该段JavaScript,以便您可以从其他地方触发该回发。

本文将帮助您解决此问题

如何从Javascript调用回发

您可以从客户端发出POST请求,首先将click事件设置为方法:

 [WebMethods] public static void ClickEvent() { //do you stuff } 

现在从客户端进行ajax调用,让你的网页名称为Default.aspx:

 $.ajax({ type: "POST", url: "Default.aspx/ClickEvent", data: "{}", contentType: "application/json; charset=utf-8", dataType: "json", success: function(msg) { // Do something interesting here. } }); 

在你的情况下,你可以这样做,

   

祝好运。

如果你想从javascript调用一个按钮,这是另一种方式。

  var test = document.getElementbyId("YourButtonName"); test.onclick = function() { //your code