为什么字符串会失去它的值?
本文关键字:失去 字符串 为什么 | 更新日期: 2023-09-27 18:04:34
我有一个名为strClientNumber的字符串,用于捕获循环中的值,但在循环之外,该字符串在分配对象消除后变为NULL。我错过了什么?
bool blnAbsent = true;
string strClientNumber = "";
foreach (SPListItem item in varCustomerNumbers)
{
XmlDocument xml = new XmlDocument();
xml.LoadXml(item["CustomerNumbers"].ToString());
XmlNodeList nodelist = xml.GetElementsByTagName("user");
foreach (XmlNode varUser in nodelist)
{
if (clientnumber == varUser.InnerText)
{
blnAbsent = false;
strClientNumber = varUser.InnerText;
this.Controls.Add(new LiteralControl(" <tr><td>" + varUser.InnerText + "</td><td><input name='"'" type='"checkbox'"'n"));
if (varUser.Attributes["parent"].InnerText == "true")
this.Controls.Add(new LiteralControl(" checked'n"));
this.Controls.Add(new LiteralControl("/></td><td><input name='"'" type='"checkbox'"'n"));
if (varUser.Attributes["national"].InnerText == "true")
this.Controls.Add(new LiteralControl(" checked'n"));
this.Controls.Add(new LiteralControl("/></td></tr>'n"));
}
}
}
if (blnAbsent == true)
{
this.Controls.Add(new LiteralControl(" <tr><td>" + strClientNumber + "</td><td><input name='"'" type='"checkbox'" /></td><td><input name='"'" type='"checkbox'" /></td></tr>'"'n"));
}
如果你查看评论,你会发现发布者接受了讨论中的提示是正确的;然而,海报上的答案很可能会导致不正确的行为。下面的解决方案很可能产生海报所寻找的结果,假设clientnumber是提前已知的,并且不为空。
bool blnAbsent = true;
string strClientNumber = "";
foreach (SPListItem item in varCustomerNumbers)
{
XmlDocument xml = new XmlDocument();
xml.LoadXml(item["CustomerNumbers"].ToString());
XmlNodeList nodelist = xml.GetElementsByTagName("user");
foreach (XmlNode varUser in nodelist)
{
if (clientnumber == varUser.InnerText)
{
blnAbsent = false;
this.Controls.Add(new LiteralControl(" <tr><td>" + varUser.InnerText + "</td><td><input name='"'" type='"checkbox'"'n"));
if (varUser.Attributes["parent"].InnerText == "true")
this.Controls.Add(new LiteralControl(" checked'n"));
this.Controls.Add(new LiteralControl("/></td><td><input name='"'" type='"checkbox'"'n"));
if (varUser.Attributes["national"].InnerText == "true")
this.Controls.Add(new LiteralControl(" checked'n"));
this.Controls.Add(new LiteralControl("/></td></tr>'n"));
}
}
}
if (blnAbsent == true)
{
this.Controls.Add(new LiteralControl(" <tr><td>" + clientnumber + "</td><td><input name='"'" type='"checkbox'" /></td><td><input name='"'" type='"checkbox'" /></td></tr>'"'n"));
}
我是个新手…谢谢所有人。
bool blnAbsent = true;
string strClientNumber = "";
foreach (SPListItem item in varCustomerNumbers)
{
XmlDocument xml = new XmlDocument();
xml.LoadXml(item["CustomerNumbers"].ToString());
XmlNodeList nodelist = xml.GetElementsByTagName("user");
foreach (XmlNode varUser in nodelist)
{
strClientNumber = clientnumber;
if (clientnumber == varUser.InnerText)
{
blnAbsent = false;
this.Controls.Add(new LiteralControl(" <tr><td>" + varUser.InnerText + "</td><td><input name='"'" type='"checkbox'"'n"));
if (varUser.Attributes["parent"].InnerText == "true")
this.Controls.Add(new LiteralControl(" checked'n"));
this.Controls.Add(new LiteralControl("/></td><td><input name='"'" type='"checkbox'"'n"));
if (varUser.Attributes["national"].InnerText == "true")
this.Controls.Add(new LiteralControl(" checked'n"));
this.Controls.Add(new LiteralControl("/></td></tr>'n"));
}
}
}
if (blnAbsent == true)
{
this.Controls.Add(new LiteralControl(" <tr><td>" + strClientNumber + "</td><td><input name='"'" type='"checkbox'" /></td><td><input name='"'" type='"checkbox'" /></td></tr>'n"));
}