我写了这个脚本,有效:
if (String.IsNullOrEmpty(item.Description))
{
tbItemInput.Rows.Add(tbRow2);
tbItemInput.Rows.Add(tbRow3);
tbItemInput.Rows.Add(tbRow4);
tbItemInput.Rows.Add(tbRow5);
}
else if (item.Description.Equals("euro"))
{
tbItemInput.Rows.Add(tbRow4);
tbItemInput.Rows.Add(tbRow5);
tbItemInput.Rows.Add(tbRow2);
tbItemInput.Rows.Add(tbRow3);
}
else // I assume that this will always be "euro6" entry
{
tbItemInput.Rows.Add(tbRow2);
tbItemInput.Rows.Add(tbRow3);
tbItemInput.Rows.Add(tbRow4);
tbItemInput.Rows.Add(tbRow5);
}
但我真的不喜欢它,但由于我是一名php程序员,我不知道如何在ASP.NET中正确编写
这个想法是,如果值item.Description
不存在或者是“euro6”,它有一个选项,但是,如果值是“euro”,那么另一个选项。
在PHP中,我会这样做
if ( $description == "euro" ) {
// first option
} else {
// second option
}
但在.NET中,如果未设置该值,则会出现错误,因此我做了一个不好的解决方法。
我可以获得一些帮助,使其成为正确的方法吗?
答案 0 :(得分:3)
“我收到错误”相当模糊 - 如果您使用NullReferenceException
,则会获得item.Description.Equals("euro"))
,但这应该没问题:
if (item.Description == "euro")
{
tbItemInput.Rows.Add(tbRow4);
tbItemInput.Rows.Add(tbRow5);
tbItemInput.Rows.Add(tbRow2);
tbItemInput.Rows.Add(tbRow3);
}
else
{
tbItemInput.Rows.Add(tbRow2);
tbItemInput.Rows.Add(tbRow3);
tbItemInput.Rows.Add(tbRow4);
tbItemInput.Rows.Add(tbRow5);
}
答案 1 :(得分:1)
if (String.IsNullOrEmpty(item.Description) || item.Description == "euro6")
{
// Euro6 or default option
}
else
{
// Euro option
}
甚至更简单
if (item.Description == "euro")
{
// Euro option
}
else
{
// Not euro option(empty or euro6 or whatever)
}
答案 2 :(得分:0)
尝试此类代码
if (!String.IsNullOrEmpty(item.Description)) //check for item.Description is not empty and not null
{
if (item.Description.Equals("euro")) // check for determine item.Description has contain "euro"
{
/*code for when item.Description has contain "euro"*/
}
else
{
/*code for when item.Description not contain "euro"*/
}
}