Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在抛出异常后刷新页面_C#_Asp.net_Textbox_Page Refresh - Fatal编程技术网

C# 如何在抛出异常后刷新页面

C# 如何在抛出异常后刷新页面,c#,asp.net,textbox,page-refresh,C#,Asp.net,Textbox,Page Refresh,我有一段代码,在单击save按钮后检查某些值。用户在文本框中输入值,如果未从dropdownlist中选择值,则将引发异常。文本框的默认值为1。因此,如果未选择任何原因,则显示消息。问题是文本框中输入的值仍然存在,但是如果我手动刷新页面,它会被默认恢复为1。我需要在异常后刷新页面,以便文本框返回默认值 JobPieceSerialNo SerNo = new JobPieceSerialNo(job.ID); if (SerNo.Reason == null) { throw new

我有一段代码,在单击save按钮后检查某些值。用户在文本框中输入值,如果未从dropdownlist中选择值,则将引发异常。文本框的默认值为1。因此,如果未选择任何原因,则显示消息。问题是文本框中输入的值仍然存在,但是如果我手动刷新页面,它会被默认恢复为1。我需要在异常后刷新页面,以便文本框返回默认值

JobPieceSerialNo SerNo = new JobPieceSerialNo(job.ID);
if (SerNo.Reason == null)
{
     throw new Exception("Must select reason");
     Response.Redirect("Job.aspx?JobID=" + Request.QueryString["JobID"], false);
}

将响应代码放在异常之后会使代码无法访问,而将其放在if语句之外似乎也不起作用。那么如何刷新页面呢

您可以使用try-catch块,将您的响应放在catch和throw-in中

    if (SerNo.Reason == null)
    {
        try{
            throw new Exception("Must select reason");
        } 
        catch{
            Response.Redirect("Job.aspx?JobID=" + Request.QueryString["JobID"], false); 
        }

    }

或者您可以替换
抛出新异常(“必须选择原因”)用于
MessageBox.Show(“必须选择原因”)
然后从那里保留该方法。

您可以使用try-catch块并将响应放在catch和throw-in中

    if (SerNo.Reason == null)
    {
        try{
            throw new Exception("Must select reason");
        } 
        catch{
            Response.Redirect("Job.aspx?JobID=" + Request.QueryString["JobID"], false); 
        }

    }

或者您可以替换
抛出新异常(“必须选择原因”)用于
MessageBox.Show(“必须选择原因”)
然后从那里保留该方法。

您可以使用try-catch块并将响应放在catch和throw-in中

    if (SerNo.Reason == null)
    {
        try{
            throw new Exception("Must select reason");
        } 
        catch{
            Response.Redirect("Job.aspx?JobID=" + Request.QueryString["JobID"], false); 
        }

    }

或者您可以替换
抛出新异常(“必须选择原因”)用于
MessageBox.Show(“必须选择原因”)
然后从那里保留该方法。

您可以使用try-catch块并将响应放在catch和throw-in中

    if (SerNo.Reason == null)
    {
        try{
            throw new Exception("Must select reason");
        } 
        catch{
            Response.Redirect("Job.aspx?JobID=" + Request.QueryString["JobID"], false); 
        }

    }

或者您可以替换
抛出新异常(“必须选择原因”)用于
MessageBox.Show(“必须选择原因”)
然后从那里保留方法。

如果要在异常发生时刷新页面,请将此

catch
{
    Response.Redirect(Request.RawUrl);
}

我希望它能工作

如果您想在出现异常时刷新页面,请将此

catch
{
    Response.Redirect(Request.RawUrl);
}

我希望它能工作

如果您想在出现异常时刷新页面,请将此

catch
{
    Response.Redirect(Request.RawUrl);
}

我希望它能工作

如果您想在出现异常时刷新页面,请将此

catch
{
    Response.Redirect(Request.RawUrl);
}

我希望它能起作用

也许你不应该抛出一个异常,而是向用户显示一条验证错误消息?@Kritner我不知道为什么,但只会显示一条异常消息。你可以通读这篇文章,开始asp.net中客户端和服务器的验证程序也许你不应该抛出异常,但是向用户显示验证错误消息?@Kritner我不知道为什么,但只会显示一条异常消息。您可以阅读此信息,开始asp.net中客户端和服务器的验证程序。也许您不应该引发异常,但是向用户显示验证错误消息?@Kritner我不知道为什么,但只会显示一条异常消息。您可以阅读此信息,开始asp.net中客户端和服务器的验证程序。也许您不应该引发异常,但是是否向用户显示验证错误消息?@Kritner我不知道为什么,但只会显示一条异常消息。您可以阅读此信息,开始asp.net中客户端和服务器的验证程序