我可以在PartialViewResult()
中返回一个视图,如下所示吗?:
public PartialViewResult EditAdminProfile_Post(int Id, FormCollection formCollection)
{
//if (Session["AdminID"] != null)
//{
Admin admin = new Admin();
admin = db.Admins.Single(m => m.ID == Id);
admin.Name = formCollection[0];
admin.Gender = formCollection[1];
admin.Email = formCollection[2];
admin.ContactNumber = formCollection[3];
admin.AboutMe = formCollection[4];
if (ModelState.IsValid)
{
db.Entry(admin).State = System.Data.Entity.EntityState.Modified;
db.SaveChanges();
}
return PartialView("AdminProfile");
AdminProfile
不是局部视图。
答案 0 :(得分:0)
是的,你可以。但是,我们不建议这样做,因为您的_layout
被忽略(这意味着布局中定义了css
或script
个文件,因此您的样式和功能可能会有所不同,就像您期望的那样。即使你可以使它工作,你也会看到代码味道。
您是否希望将重复使用 AdminProfile
作为 部分和普通视图?
AdminProfilePartial
。AdminProfile
视图中,请在其中调用AdminProfilePartial
(即使您使用的只是)然后当您返回完整视图时:
return View("AdminProfile");
否则部分视图:
return PartialView("AdminProfilePartial");
答案 1 :(得分:0)
问题是你没有将模型传递给局部视图,这就是为什么当你调用它时你得到Null reference
使用以下行更新您的代码:
return PartialView("AdminProfile", admin);
PS而不是使用FormCollection
最好使用默认模型绑定器并在操作方法中接受Admin
模型