Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 没有类型为';IEnumerable<;选择列表项>';那有钥匙';课程';_Asp.net Mvc_Asp.net Mvc 3_Razor_Drop Down Menu_Partial Views - Fatal编程技术网

Asp.net mvc 没有类型为';IEnumerable<;选择列表项>';那有钥匙';课程';

Asp.net mvc 没有类型为';IEnumerable<;选择列表项>';那有钥匙';课程';,asp.net-mvc,asp.net-mvc-3,razor,drop-down-menu,partial-views,Asp.net Mvc,Asp.net Mvc 3,Razor,Drop Down Menu,Partial Views,我在下拉列表中填充数据时遇到问题。。。 我想,因为我使用的是局部视图,这就是它产生问题的原因。 这是我的密码: public ActionResult Register() { var course = from Course c in Enum.GetValues(typeof(Course)) select new { ID = c, Name = c.ToString() }; ViewData["course"] = new S

我在下拉列表中填充数据时遇到问题。。。 我想,因为我使用的是局部视图,这就是它产生问题的原因。 这是我的密码:

public ActionResult Register()
{
    var course = from Course c in Enum.GetValues(typeof(Course))
                     select new { ID = c, Name = c.ToString() };
     ViewData["course"] = new SelectList(course, "ID", "Name");
     return view();
}

 public enum Course
{
    [Display(Name = "Basic Level", ShortName = "Basic")]
    Basic = 1,

    [Display(Name = "Intermidiate Level")]
    Intermidiate = 2,

    [Display(Name = "Advance Level")]
    Advance = 3
}
这是我的主要观点:

<table style="margin-top: 10px">
<tr>
    <td valign="top">
        @{Html.RenderPartial("LogOnPartial");}
    </td>
    <td width="20px">
    </td>
    <td align="left">
        @{Html.RenderPartial("CreatePartial");}
    </td>
</tr>

@{Html.RenderPartial(“LogOnPartial”);}
@{Html.RenderPartial(“CreatePartial”);}

我已经在我的部分视图(CreatePartial)中写了这篇文章:


@Html.DropDownList(“课程”);

请帮帮我这应该行得通。我无法重现这个问题

型号:

public enum Course
{
    [Display(Name = "Basic Level", ShortName = "Basic")]
    Basic = 1,

    [Display(Name = "Intermidiate Level")]
    Intermidiate = 2,

    [Display(Name = "Advance Level")]
    Advance = 3
}
控制器:

public class HomeController : Controller
{
    public ActionResult Index()
    {
        var course = from Course c in Enum.GetValues(typeof(Course))
                     select new { ID = c, Name = c.ToString() };
        ViewData["course"] = new SelectList(course, "ID", "Name");
        return View();
    }
}
Index.cshtml
查看:

@{Html.RenderPartial("CreatePartial");}
CreatePartial.cshtml
partial:

@Html.DropDownList("course")
我怀疑这在您提交表单后不起作用,而不是在最初加载表单时。这可能是因为您可能忘记在
[HttpPost]
操作中重新填充
视图数据[“课程”]
,但又试图重新显示相同的视图。如果要重新显示同一视图,请确保以与最初呈现页面时使用的GET操作相同的方式填充
ViewData[“课程”]


另一件需要注意的事情是,您没有其他一些冲突的
ViewData[“course”]
值。

这应该是可行的。我无法重现这个问题

型号:

public enum Course
{
    [Display(Name = "Basic Level", ShortName = "Basic")]
    Basic = 1,

    [Display(Name = "Intermidiate Level")]
    Intermidiate = 2,

    [Display(Name = "Advance Level")]
    Advance = 3
}
控制器:

public class HomeController : Controller
{
    public ActionResult Index()
    {
        var course = from Course c in Enum.GetValues(typeof(Course))
                     select new { ID = c, Name = c.ToString() };
        ViewData["course"] = new SelectList(course, "ID", "Name");
        return View();
    }
}
Index.cshtml
查看:

@{Html.RenderPartial("CreatePartial");}
CreatePartial.cshtml
partial:

@Html.DropDownList("course")
我怀疑这在您提交表单后不起作用,而不是在最初加载表单时。这可能是因为您可能忘记在
[HttpPost]
操作中重新填充
视图数据[“课程”]
,但又试图重新显示相同的视图。如果要重新显示同一视图,请确保以与最初呈现页面时使用的GET操作相同的方式填充
ViewData[“课程”]


另一件需要注意的事情是,你没有其他冲突的
ViewData[“course”]
值。

hi没有发生像你说的那样的事情,我没有任何post方法。这给了我加载页面的问题…@user1274646,这很奇怪。你试过我的例子吗?我已经在一个新的ASP.NET MVC 3应用程序中测试了它,它运行得很好。嘿,我在一个新项目中尝试了你的解决方案,它的工作原理,但我在我的项目和它的nt工作原理中实现了相同的解决方案…我遇到了相同的错误。请你给我一些建议,或者如果我犯了任何小错误,请重新编写我的代码没有任何post方法..我加载页面时出现问题…@user1274646,这很奇怪。你试过我的例子吗?我已经在一个新的ASP.NET MVC 3应用程序中测试了它,它运行得很好。嘿,我在一个新项目中尝试了你的解决方案,它的工作原理,但在我的项目和它的nt工作原理中实现了相同的解决方案…我遇到了相同的错误。如果我犯了任何小错误,请你给我一些其他建议或重新编写代码好吗