页面有:一个Button,一个文本框TextBox.点击Button事件.
private void btnOk_Click(object sender, System.EventArgs e)
{
if(txtName.Text.ToString().Trim()=="")
{
Response.Write("<script language=javascript>alert('你输入的姓名不能为空,请重新输入!')</script>");
Response.End();
return;
}
}为什么,提交后页面还刷新呢.
我想要的效果是,当输入为空时,不提交.....

解决方案 »

  1.   

    要想不让页面提交,只有用JAVASCRIPT
      

  2.   

    <script>
    function checkBeforeSubmit()
    {
       if(document.all.<% yourTextBox.ClientID %>.value == "")
       {
           alert('你输入的姓名不能为空,请重新输入!');
           return false;
       }   return true;
    }
    </script>上面的代码放在html里面
    Page_Loadif(!Page.IsPostBack)
    {
       yourButton.Attributes.Add("onclick","return checkBeforeSubmit();");
    }
    当然,你也可用通过验证控件来做RequaredField之类的控件
      

  3.   

    <asp:requiredfieldvalidator id="RequiredFieldValidator1" runat="server" ControlToValidate="txtName" ErrorMessage="请输入用户名"></asp:requiredfieldvalidator>
      

  4.   

    你的方法是在服务器端处理的,当然要回发了,有两种方法不回发,
    1。加验证控件<asp:requiredfieldvalidator>
    2。js
    if(document.all.buttonid.value == "")
      

  5.   

    brightheroes(闭关|那一剑的风情)支持
      

  6.   

    你的方法是在服务器端处理的,当然要回发了看来楼主还是没弄明白asp.net的运行方式和原理