자바 스크립트 함수에서 서버 쪽 단추 클릭 메서드를 호출하려고하지만 작동하지 않습니다. 어디에서 잘못했는지 알 수 있습니까?자바 스크립트에서 C# button click 메서드를 호출하는 방법은 무엇입니까?
영문 코드 :
<asp:Button ID="ButtonFns" Name="ButtonFns" runat="server" Text="Finish"
OnClientClick ="CountDownTick()" class="finish" onclick="ButtonFns_Click" />
자바 스크립트 코드 :
function CountDownTick() {
if (_currentSeconds <= 0) {
document.getElementById('<%= ButtonFns.ClientID %>').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 [email protected]";
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();
}
}
모든 HEL p는 높이 평가됩니다.
"작동하지 않는다"는 것은 정확히 무엇을 의미합니까? 여기 아무도 마음 독자가 아닙니다. – asawyer
@Abhishek, 버튼이 서버 측 컨트롤이라는 점을 이해하십시오. 따라서 코드를 호출 한 방식대로 호출 할 수 없습니다. – freebird
자바 스크립트가 브라우저에서 올바르게 렌더링 되었습니까? 오류가 있습니까? CountDownTick()에서 중단 점을 설정해 보셨습니까? – mgnoonan