当前上下文错误中不存在,但应该是ASP.NET c#

本文关键字:ASP NET 上下文 错误 不存在 | 更新日期: 2023-09-27 17:49:43

以下是代码:

for (int i = 0; i < Model.Count; i++)
{
    Writer.WriteBeginTag("li");
    if (i % 2 == 1)
    {
            string myVar  = "even ";
    }
    if ((i+1) % 3 == 0)
    {
        myVar += "third";
    }
    Writer.WriteAttribute("class", ""); // I want to use myVar here
    Writer.Write(HtmlTextWriter.TagRightChar);
    Writer.WriteEndTag("li");
}

我对.NET或C#不是很熟悉。我在第二个myVar上得到一个错误The name "myVar" does not exist in the current context。如果我把这一行注释掉,那么在第一个myVar上就会有一条消息The variable "myVar" is assigned but its value is never used.。我真的不明白这怎么会或为什么会断章取义。

有什么想法吗?

当前上下文错误中不存在,但应该是ASP.NET c#

您正在第一个if语句的作用域中创建变量myVar,因此它在第二个语句中不可用。你需要事先创建它:

string myVar = "";
if(...)
{
  //use of myVar
}
if(...)
{
 //use of myVar
}

myVar仅存在于if内部。

您需要将声明移动到循环的主体。