MVC5编译错误

本文关键字:错误 编译 MVC5 | 更新日期: 2023-09-27 18:24:04

描述:编译资源时出错需要为该请求提供服务。请查看以下具体内容错误详细信息,并适当地修改源代码。

编译器错误消息:CS1513:}应为

我运行的代码是:

@if (Model.Criteria != null)
{
    @Html.Raw("<ul>")
  foreach (var value in Model.Criteria.SearchCriteria)
  {
    @Html.Raw("<li>" + value.Key + " - ")
    var test = (Dictionary<string, object>)@value.Value;
    switch (test.First().Key.ToUpper())
    {
        case "DDL":
            <select>
                @foreach (var val in (string[])test.First().Value)
                {
                    <option value="@val">@val</option>
                }
            </select>
            break;
        case "INPUT":
        @Html.TextBox(test.First().Value.ToString())
            break;
    }
    @Html.Raw("</li>")
  }
@Html.Raw("</ul>")
}

SearchCriteria也是Dictionary<string, object>

如果我删除测试变量和switch语句,它就可以正常工作。我试图理解为什么我不能将测试分配为字典对象,然后循环通过它。我做错了什么?

MVC5编译错误

@Html.Raw("<li>" + @value.Key + " - ")应该是@Html.Raw("<li>" + value.Key + " - "),因为在Raw()方法中,您已经在处理C#语法;价值键只是一个字符串变量。

var test = (Dictionary<string, object>)@value;也是如此。