Asp.net 如何在else条件下停止刷新页面

Asp.net 如何在else条件下停止刷新页面,asp.net,refresh,Asp.net,Refresh,我的代码: protected void btnOk_Click(object sender, EventArgs e) { if (txtReportFavorite.Text != string.Empty) { //.. } else { Response.Write("<script>alert('Enter Favorite name.')</script>");

我的代码:

protected void btnOk_Click(object sender, EventArgs e)
{
     if (txtReportFavorite.Text != string.Empty)
     {
         //..
     }
     else
     {
         Response.Write("<script>alert('Enter Favorite name.')</script>");
         // I need to prevent page refresh here.
     }
 }
protectedvoidbtnok_单击(对象发送方,事件参数e)
{
if(txtreptfavorite.Text!=string.Empty)
{
//..
}
其他的
{
响应。写入(“警报(‘输入收藏夹名称’)”);
//我需要在这里阻止页面刷新。
}
}

如何在else条件下停止刷新页面。谢谢。

您进入服务器端这一事实意味着您的页面已经在服务器上运行了一个完整的周期,并且刷新了自己

除非您使用Ajax调用调用此代码


您还可以通过在按钮周围放置一个AjaxUpdatePanel来实现这一点,该按钮将在客户端提交表单时模拟Ajax调用。

您进入服务器端的事实意味着您的页面已经完成了一个完整的服务器循环并刷新了自身

除非您使用Ajax调用调用此代码

您还可以通过在按钮周围放置一个AjaxUpdatePanel来实现这一点,该按钮将在客户端提交表单时模拟Ajax调用。

您不能

该代码运行时已请求新页面。如果不进行回发,该代码将永远不会运行

如果您想在不进行回发的情况下进行验证,则应使用客户端代码进行验证。

您不能

该代码运行时已请求新页面。如果不进行回发,该代码将永远不会运行


如果您想在不进行回发的情况下进行验证,则应使用客户端代码进行验证。

通过使用验证器可以轻松实现所显示的功能,这样页面就不会回发

一旦它到达服务器,就不可能停止刷新。嗯,至少据我所知。
-Milind

通过使用验证器,您可以轻松实现所显示的功能,这样页面就不会发回

一旦它到达服务器,就不可能停止刷新。嗯,至少据我所知。
-Milind

在您的代码中隐藏在页面加载上

btnOk.Attributes.Add("onclick","return validate();");
在您的aspx文件中有以下脚本

function validate()
{
    if(document.getElementById("txtReportFavorite").value == "";
      {             
                alert("Enter Favorite name");
                return false;
      }

}

在您的代码后面的页面加载中

btnOk.Attributes.Add("onclick","return validate();");
在您的aspx文件中有以下脚本

function validate()
{
    if(document.getElementById("txtReportFavorite").value == "";
      {             
                alert("Enter Favorite name");
                return false;
      }

}

您的页面已转到服务器端,并且已处于状态。回发正在进行中


您必须使用客户端代码来防止回发。

您的页面已转到服务器端,并且已处于中,回发正在进行中


您必须使用客户端代码来防止回发。

如果只需要验证空文本框,为什么不使用RequiredFieldValidator? 您可以在客户端执行此操作

<asp:TextBox runat="server" id="txtReportFavorite" />
<asp:RequiredFieldValidator runat="server" id="txtReportFavorite" controltovalidate="txtName" errormessage="Enter Favorite name!" />
<br />
<asp:Button runat="server" id="btnSubmit" text="Ok" onclick="btn_Click" />

protected void btnSubmitForm_Click(object sender, EventArgs e)
{
    if(Page.IsValid) //for secure validation 
    {
        //do something
    }
}


受保护的void btnSubmitForm\u单击(对象发送方,事件参数e) { if(Page.IsValid)//用于安全验证 { //做点什么 } }
如果只需要验证空文本框,为什么不使用RequiredFieldValidator? 您可以在客户端执行此操作

<asp:TextBox runat="server" id="txtReportFavorite" />
<asp:RequiredFieldValidator runat="server" id="txtReportFavorite" controltovalidate="txtName" errormessage="Enter Favorite name!" />
<br />
<asp:Button runat="server" id="btnSubmit" text="Ok" onclick="btn_Click" />

protected void btnSubmitForm_Click(object sender, EventArgs e)
{
    if(Page.IsValid) //for secure validation 
    {
        //do something
    }
}


受保护的void btnSubmitForm\u单击(对象发送方,事件参数e) { if(Page.IsValid)//用于安全验证 { //做点什么 } }
尝试使用
RegisterScriptBlock

ClientScript.RegisterStartupScript(this.GetType),"","$(document).ready(function(){alert('Enter Favorite name.')});",true); 

如果要从服务器端执行,请按照上面的方式执行。。否则,许多答案已经发布。

尝试使用
RegisterScriptBlock

ClientScript.RegisterStartupScript(this.GetType),"","$(document).ready(function(){alert('Enter Favorite name.')});",true); 

如果要从服务器端执行,请按照上面的方式执行。。否则,许多答案已经发布。

您是在谈论页面刷新还是回发?在管道的这一阶段阻止页面重新加载为时已晚:如果调用了服务器代码,则页面已经在刷新(回发正在进行)。但是,您可以显示相同的页面。如果你真的想阻止页面刷新,请使用js客户端。你的意思是不要在点击按钮后回发页面?为什么会刷新?您没有任何刷新代码!如果不想刷新,则必须在客户端处理。您是在谈论页面刷新还是回发?在管道的这一阶段阻止页面重新加载为时已晚:如果调用了服务器代码,则页面已在刷新(回发正在进行)。但是,您可以显示相同的页面。如果你真的想阻止页面刷新,请使用js客户端。你的意思是不要在点击按钮后回发页面?为什么会刷新?您没有任何刷新代码!如果你不想刷新,那么你必须在客户端处理它。