【发布时间】:2013-12-21 13:39:16
【问题描述】:
几天前我问了一个问题,人们非常乐意提供帮助。 我的情况发生了一些变化,我的代码也发生了变化。
我首先需要确定当前文章组是否是需要区别对待的几个文章组之一。如果是,它使用从数据库中检索到的完整值来定义 var“strbody”。如果它不是那些特殊的文章组之一,那么我必须在定义和显示它之前进行一些字符串操作来格式化检索到的值。
我的字符串操作代码正常工作,但是当我在代码块下方调用它时,我在 if/then/else 块中定义的 strbody 变量都没有被识别???
这是我的代码:
@{
string group = Model.ArticleGroupName;
if (group.Contains("Spacial Orientation")||group.Contains("Topography")||group.Contains("Osteology")||group.Contains("Angiology")||group.Contains("Neurology")||group.Contains("Myology")||group.Contains("Radiology")||group.Contains("Misc. Drawings")||group.Contains("Clinical Testing"))
{
var strbody = item.ShortBody;
}
else
{
string s = item.ShortBody;
string sLess = s.Remove(0, 12);
int index = sLess.IndexOf("Summary");
var strbody = (sLess.Substring(index + 8));
}
}
@strbody
这是错误:
\Plugins\FoxNetSoft.Articles\Views\ArticleRead\List.cshtml(76): error CS0103: The name 'strbody' does not exist in the current context
当我在任何一种可能的情况下定义它时,我都不明白 var 是如何不存在的......
我是新手,所以请不要犹豫,因为我做了愚蠢的事情而责备我......我需要学习!
更新:
它现在运行良好。感谢所有帮助过的人!
下面是最终的工作代码:
@{
string strbody = item.ShortBody;
string group = Model.ArticleGroupName;
var thestrbody = " ";
if (group.Contains("Spacial Orientation")||group.Contains("Topography")||group.Contains("Osteology")||group.Contains("Angiology")||group.Contains("Neurology")||group.Contains("Myology")||group.Contains("Radiology")||group.Contains("Misc. Drawings")||group.Contains("Clinical Testing"))
{
thestrbody = strbody;
}
else
{
string s = item.ShortBody;
string sLess = s.Remove(0, 12);
int index = sLess.IndexOf("Summary");
thestrbody = (sLess.Substring(index + 8));
}
}
@thestrbody
【问题讨论】:
-
请添加一个标签来表明这是什么语言。
-
为什么要在 else 语句中声明
strbody? -
在循环外声明变量,看看是否有效。
标签: c# string variables contains