我有一个局部视图我想显示为搜索界面。每次它告诉我我得到的错误MVC部分查看投递错误的下拉菜单
没有ViewData项的IEnumerable类型具有密钥resource_type_id。
我已经尝试过这么多的事情,使这项工作,但没有什么帮助。
这是我的看法调用partialview
@model IEnumerable<NewSAMACentral2._0.ViewModel.MemberResourcesViewModel.MemberResource>
@{
ViewBag.Title = "Add Resource To Folder";
}
<h2>Add Resource To Folder</h2>
<div>
@{Html.Partial("SearchResource", new NewSAMACentral2._0.ViewModel.MemberResourcesViewModel.ResourceSearch());}
</div>
@using (Ajax.BeginForm("InsertAttendee", "Meetings", new AjaxOptions { HttpMethod = "POST" }))
{
if (Model.Any())
{
}
}
这是我partialview
@model NewSAMACentral2._0.ViewModel.MemberResourcesViewModel.ResourceSearch
@using (Ajax.BeginForm("AddAttendee", "Meetings", new AjaxOptions { UpdateTargetId = "AddAttendee", HttpMethod = "POST" }))
{
<div class="form-group">
<label for="keyword">Keyword(s): </label>@Html.TextBox("keyword", null, new { @class = "form-control" })
</div>
<div class="form-group">
@Html.LabelFor(model => Model.resource_type_id)
@Html.DropDownListFor(model => Model.resource_type_id, Model.resource_type, "-- Select --", new { @class = "form-control" })
</div>
<div class="form-group">
<label for="author">Author(s): </label>@Html.TextBox("author", null, new { @class = "form-control" })
</div>
<div class="form-group">
<input type="submit" name="submit" value="Search" />
</div>
}
这是一个似乎永远不会得到所谓的控制器......
public PartialViewResult SearchResource()
{
var results = new MemberResourcesViewModel.ResourceSearch();
results.resource_type = db.Resource_Types.Select(s => new SelectListItem
{
Text = s.name,
Value = s.id.ToString()
}).Distinct().OrderBy(x => x.Text);
return PartialView(results);
}
这是ViewModel
namespace NewSAMACentral2._0.ViewModel
{
public class MemberResourcesViewModel
{
public IEnumerable<MemberResource> MemberResourceResult;
public MemberResource memberResource;
public class MemberResource
{
public ResourceSearch resource_search { get; set; }
[Key]
public int Id { get; set; }
[DisplayName("Resource Title")]
public string title { get; set; }
public IEnumerable<SelectListItem> resource_type { get; set; }
[DisplayName("Resource Type")]
public string resource_type_id { get; set; }
[DisplayName("Keyword")]
public string keyword { get; set; }
[DisplayName("Author")]
public string author { get; set; }
[DisplayName("Subject Type")]
public string subject_type { get; set; }
[DisplayName("Industry")]
public string industry { get; set; }
[DisplayName("Description")]
public string description { get; set; }
}
public class ResourceSearch
{
[DisplayName("Author")]
public string author { get; set; }
public IEnumerable<SelectListItem> resource_type { get; set; }
[DisplayName("Resource Type")]
public string resource_type_id { get; set; }
[DisplayName("Keyword")]
public string keyword { get; set; }
}
}
}
将其从'DropDownListFor(model => Model.resource_type_id)'改为'DropDownListFor(m => m.resource_type_id)'。并将相同的更改应用于其他HTML助手。 – Dai