gpt4 book ai didi

c# - 查询字符串错误

转载 作者:行者123 更新时间:2023-12-02 05:11:11 24 4
gpt4 key购买 nike

为什么这段代码会抛出 NullReferenceException

异常:

System.NullReferenceException:对象引用未设置为对象的实例。

代码:

if ((string.IsNullOrEmpty(Request.QueryString["Sno"].ToString())) 
&& (string.IsNullOrEmpty(Request.QueryString["Name"].ToString())))
{
lblBookedBy.Text = "";
lblSno.Text = "";
}
else
{
lblBookedBy.Text = Request.QueryString["Name"].ToString();
lblSno.Text = Request.QueryString["Sno"].ToString();
}

最佳答案

我建议您执行以下操作。

if (Request.QueryString["Sno"] == null || Request.QueryString["Name"] == null)
{
lblBookedBy.Text = "";
lblSno.Text = "";
}
else
{
lblBookedBy.Text = Request.QueryString["Name"].ToString();
lblSno.Text = Request.QueryString["Sno"].ToString();
}

您很可能在 if 语句中得到一个 NullReference。这样你肯定不会遇到这种情况,最坏的情况是两个变量都被实例化,但一个或多个包含一个空字符串,它只会将 Text 设置为 empty.

或者,如果您按照许多其他建议使用 Convert.ToString,则可以通过跳过 if 语句来简化代码。

lblBookedBy.Text = Convert.ToString(Request.QueryString["Name"]);
lblSno.Text = Convert.ToString(Request.QueryString["Sno"]);

在最坏的情况下,其中一个将为 Null,并且会导致其中一个 TextBox 显示结果,而另一个为空。

此外,假设 Request.QueryString 支持它,您可以使用 TryGetValue .

关于c# - 查询字符串错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15430413/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com