Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/271.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_Void - Fatal编程技术网

C# 如何知道虚空运行?

C# 如何知道虚空运行?,c#,asp.net,void,C#,Asp.net,Void,想问一下void类型,这样我就可以知道它是否有效了 在PHP中,我可以有如下条件: if(mysql_query($query)) { bla bla } else { print error } if (k.EditPassword(username.Text, oldPassTxt.Text, newPassTxt.Text) == true ) { Response.Redirect("sample.aspx"); } else { print error } 如何在ASP.NET上这

想问一下void类型,这样我就可以知道它是否有效了

在PHP中,我可以有如下条件:

if(mysql_query($query))
{ bla bla }
else
{ print error }
if (k.EditPassword(username.Text, oldPassTxt.Text, newPassTxt.Text) == true )
{
Response.Redirect("sample.aspx");
}
else
{ print error }
如何在ASP.NET上这样做

我试着这样做:

if(mysql_query($query))
{ bla bla }
else
{ print error }
if (k.EditPassword(username.Text, oldPassTxt.Text, newPassTxt.Text) == true )
{
Response.Redirect("sample.aspx");
}
else
{ print error }

但当然,它不能是这样的,因为void不是布尔值,您可以使用文本控件并将文本添加到其中。所以你的代码会是这样的

if (k.EditPassword(username.Text, oldPassTxt.Text, newPassTxt.Text) == true )
{
Response.Redirect("sample.aspx");
}
else
{ Literal1.Text = error; }
文字应该在设计文件中,您可以从工具箱中添加它

但更好更恰当的方法是

  • 记录下来。(您将需要一个日志mecahnism)

  • 编写一个单元测试:)


  • 通常,执行可能失败的操作的void函数会有其他方式通知您它们失败。他们通常会抛出异常:

    try
    {
        k.EditPassword(...)
    }
    catch(ApplicationException ex)
    {
        // print Exception
    }
    Response.Redirect(...)
    
    其他时候,他们会设置一个状态变量或其他:

    k.EditPassword(...)
    if (k.Result == Result.OK)
        Response.Redirect(...)
    else
        // print error...
    

    查看文档或源代码以了解您试图处理的条件是知道如何处理它的唯一方法。

    您试图处理的具体条件是什么?如果某个条件没有成功标志,理想情况下,您应该能够假设如果执行通过它,它就成功执行了(换句话说,如果它没有抛出异常)。但是,这可能不是一个安全的假设,这取决于谁编写了它或者您对它的信任程度(而且必须假设任何东西都是一种相当不愉快的感觉…)。问题解决了,对不起..我真的忘记了try-catch..现在它成功了..我的完整代码:EmpWS k=new-EmpWS();try{k.EditPassword(username.Text,oldPassTxt.Text,newPassTxt.Text);}catch(Exception ex){Response.Write(ex+“Eror”);}谢谢..我真的忘记了这个try-catch条件…这是我需要的代码。。