C# SelectList不工作(ASP.NET MVC)
我有控制器方法来呈现PartialView并在那里显示SelectList 这里是方法代码C# SelectList不工作(ASP.NET MVC),c#,asp.net,asp.net-mvc,C#,Asp.net,Asp.net Mvc,我有控制器方法来呈现PartialView并在那里显示SelectList 这里是方法代码 public ActionResult AddProject() { ViewBag.Region = new SelectList(db.Regions, "Id", "Name").ToList(); return PartialView("/Partials/ProjectModalPartial"); } 下面是PartialView中的代码 &
public ActionResult AddProject()
{
ViewBag.Region = new SelectList(db.Regions, "Id", "Name").ToList();
return PartialView("/Partials/ProjectModalPartial");
}
下面是PartialView中的代码
<div class="form-group">
<label for="recipient-name" class="col-form-label">Выберите Город</label>
@Html.DropDownList("Region", null, "XXXX", htmlAttributes: new { @class = "form-control", @id = "cityId"})
</div>
Выберите Город
@DropDownList(“Region”,null,“XXXX”,htmlAttributes:new{@class=“form control”,@id=“cityId”})
这就是我对它的看法
<div class="modal-body">
@Html.Partial("~/Views/Manage/Partials/ProjectModalPartial.cshtml")
</div>
@Html.Partial(“~/Views/Manage/Partials/ProjectModalPartial.cshtml”)
这是区域模型
public partial class Region
{
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
public Region()
{
this.Cities = new HashSet<City>();
}
public int Id { get; set; }
public string Name { get; set; }
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
public virtual ICollection<City> Cities { get; set; }
}
公共部分类区域
{
[System.Diagnostics.CodeAnalysis.SuppressMessage(“Microsoft.Usage”,“CA2214:DoNotCallOverridableMethodsInConstructors”)]
公共区域()
{
this.Cities=newhashset();
}
公共int Id{get;set;}
公共字符串名称{get;set;}
[System.Diagnostics.CodeAnalysis.SuppressMessage(“Microsoft.Usage”,“CA2227:CollectionPropertiesShouldBreadOnly”)]
公共虚拟ICollection城市{get;set;}
}
但我有这个错误
没有具有键“Region”的“IEnumerable”类型的ViewData项。描述:发生未处理的异常
在执行当前web请求期间。请检查
堆栈跟踪以获取有关错误及其位置的详细信息
源于代码
异常详细信息:System.InvalidOperationException:没有
具有键的“IEnumerable”类型的ViewData项
“区域”
源错误:
第6行:第7行:Бцццццццццццц1094
第8行:@Html.DropDownList(“Region”,null,“XXXX”,
htmlAttributes:new{@class=“form control”,@id=“cityId”})行
9:第10行:
我怎样才能解决它。如果我在代码中有这个SelectList,为什么会出现?您需要使用它来调用action方法,action将返回部分视图Html.Partial
只是将视图呈现为Html而没有调用操作,因此ViewBag.Region
没有预期的值:
@Html.Action("AddProject","Project")
假设控制器类名为ProjectController
所以现在将要发生的是
Html.Action
将调用AddProject
操作,并将ActionResult
返回到我们调用的视图,并将呈现部分视图ProjectModalPartial.cshtml
的Html,但在controller中我有ActionResult。为什么我需要使用Html.Action
@eugeneHtml.Action
将调用AddProject
操作,并将ActionResult
返回到我们调用的视图,并将呈现部分视图ProjectModalPartial.cshtml
的Html。谢谢你为什么不买这样的东西@Html.DropDownListFor(x=>Model.Id,Model.Cities,htmlAttributes:new{@class=“form control”})您可能需要摆弄Model.Cities一点,但有些人认为这样应该可以。我在中不使用模型Views@Lidaranis