很奇怪的问题,页面上就一个文本框、就一个按钮,要求实现如果文本框输入的内容与已定义的一致就直接弹出提示,不一直就提示出错。 可是按照如下代码在服务端BUTTON调用客户端函数后,当页面运行时如果输入正确了第一次按BUTTON不会弹出窗口,要多按一次BUTTON才行,这是怎么回事呢?.aspx文件:
<script language="javascript">
function ServerCallClient(Message)
{
alert(Message);
}
</script>.CS 文件:
private void ButtonView_Click(object sender, System.EventArgs e)
{

  string temp=TestBox1.Text;
  if (temp=="test11")
{
ButtonView.Attributes.Add("OnClick","ServerCallClient('"+temp+"')");
}
 else
{
ButtonView.Attributes.Remove("OnClick");
Response.Write("你是不是输入错了啊?");

}
}

解决方案 »

  1.   

    是不是在page_load上还要加载什么?
      

  2.   

    如此改了看看:
    private void ButtonView_Click(object sender, System.EventArgs e)
    {

      string temp=TestBox1.Text;
      if (temp=="test11")
    {
    ButtonView.Attributes.Add("OnClick","ServerCallClient('"+temp+"')");
    }
     else
    {
    ButtonView.Attributes.Remove("OnClick");
    Response.Write("你是不是输入错了啊?");

    }
    }
    改为:
    private void ButtonView_Click(object sender, System.EventArgs e)
    {

      string temp=TestBox1.Text;
      if (temp=="test11")
    { Response.Write("<script language='javascript'> alert('通过验证');</script>");
    }
     else
    {
    Response.Write("<script language='javascript'> alert('未通过验证');</script>");
    }
    }
      

  3.   

    TO: lgnet(C#菜鸟)按照你这样改是可以的,但由于按下BUTTON后还要提交刷新一次,感觉好像有些别扭,能不能用原来的给BUTTON加入onclick的方式呢? 谢谢了
      

  4.   

    第一次单击,给Button加上了“onlick”事件,肯定没有反应,第二次事件有了,所以会有反应。你应该在page_load中写:ButtonView.Attributes.Add("OnClick","ServerCallClient('"+temp+"')");
    就可以了~!
      

  5.   

    你把代码写到后台 page_load里面 
    page_load
    {
    ButtonView.Attributes.Add("OnClick","ServerCallClient('"+temp+"')");
    }
    前台 
    ServerCallClient(temp)
    {
      var text = document.getElementById('<%=TestBox1.ClientID%>');
      if(text == 'aa')
      {alert('adf')}
    }
      

  6.   

    你把代码写到后台 page_load里面 
    page_load
    {
    ButtonView.Attributes.Add("OnClick","ServerCallClient()");
    }
    前台 
    ServerCallClient()
    {
      var text = document.getElementById('<%=TestBox1.ClientID%>');
      if(text == 'aa')
      {alert('adf')}
    }