请原谅看似简单的问题,但出于某种原因,我现在想不出一个优雅的解决方案.
我有以下情况:
if (Request.QueryString["name"] != null)
{
if (Request.QueryString["name"].ToString() != "")
{
nameSpan.InnerHtml = Request.QueryString["name"].ToString();
}
}
Run Code Online (Sandbox Code Playgroud)
问题是,如果我想隐藏nameSpanif querystring ["name"]是null或emtpy.丑陋的解决方案是:
if (Request.QueryString["name"] != null)
{
if (Request.QueryString["name"].ToString() != "")
{
nameSpan.InnerHtml = Request.QueryString["name"].ToString();
}
else
{
nameSpan.Visible = false;
}
}
else
{
nameSpan.Visible = false;
}
Run Code Online (Sandbox Code Playgroud)
我想有一种情况,两个nameSpan.Visible = false;部分都可以合并到一个区域,所以我只需要写一次.
据我所知,不可能做到以下几点:
if (Request.QueryString["name"] != null && Request.QueryString["name"].ToString() != "")
{
nameSpan.InnerHtml = Request.QueryString["name"].ToString();
}
else
{
nameSpan.Visible = false;
}
Run Code Online (Sandbox Code Playgroud)
但请告诉我,如果我错了!如果你有一个不同的解决方案来改变逻辑,那么我非常乐意拥有不同的观点!谢谢!
你的&&解决方案应该没问题.如果左侧&&是假的,则右侧没有评估,因此不会有异常.
如果需要,可以使用String.IsNullOrEmpty静态方法:
if (!string.IsNullOrEmpty(Request.QueryString["name"]))
{
nameSpan.InnerHtml = Request.QueryString["name"].ToString();
}
else
{
nameSpan.Visible = false;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
124 次 |
| 最近记录: |