我想做一個表格更新與下拉列表和一個框來輸入文本,但不斷得到標題中的錯誤。它直接從create cshtml複製。有沒有ViewData項的類型'IEnumerable <SelectListItem>'有關鍵AnnouncementId
Index.cshtml:
@model Announcements1.Models.Comment
<div id="CommentDiv"></div>
<div id="CommentCreateForm">
@using (Ajax.BeginForm("AjaxCreate", "Comments",
new AjaxOptions
{
InsertionMode = InsertionMode.Replace,
HttpMethod = "POST",
UpdateTargetId = "CommentDiv"
}))
{
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
<div class="form-group">
@Html.LabelFor(model => model.CommentContent, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.CommentContent, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.CommentContent, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.AnnouncementId, "AnnouncementId", htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.DropDownList("AnnouncementId", null, htmlAttributes: new { @class = "form-control" })
@Html.ValidationMessageFor(model => model.AnnouncementId, "", new { @class = "text-danger" })
</div>
</div>
}
</div>
@section Scripts {
<script src="~/Scripts/jquery.unobtrusive-ajax.min.js"></script>
<script src="~/Custom_Scripts/BuildCommentTable.js"></script>
@Scripts.Render("~/bundles/jqueryval")
}
CommentController:
public ActionResult BuildCommentTable()
{
var comments = db.Comments.Include(c => c.Announcement);
return PartialView("_CommentTable", GetMyComments());
}
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult AjaxCreate([Bind(Include = "CommentId,CommentContent,AnnouncementId")] Comment comment)
{
if (ModelState.IsValid)
{
db.Comments.Add(comment);
db.SaveChanges();
}
ViewBag.AnnouncementId = new SelectList(db.Announcements, "AnnouncementId", "AnnouncementContent", comment.AnnouncementId);
return PartialView("_CommentTable", db.Comments.Include(c => c.Announcement));
}
和我的JS文件:
$(document).ready(function() {
$.ajax({
url: '/Comments/BuildCommentTable',
success: function (result) {
$('#CommentDiv').html(result);
}
});
});
您是否搜索過? :https://www.google.com.pk/search?q=There+is+no+ViewData+item+of+type+%27IEnumerable%3CSelectListItem%3E%27&oq=There+is+no+ViewData+item+of + type +%27IEnumerable%3CSelectListItem%3E%27&aqs = chrome..69i57j69i60.182j0j4&sourceid = chrome&ie = UTF-8 –
@EhsanSajjad是的,但我無法找出問題 –
錯誤的意思是'AnnouncementsId' in'@ Html.DropDownList(「 AnnouncementId「,null,...)''null' –