Asp.net mvc 局部视图结果
我可以在Asp.net mvc 局部视图结果,asp.net-mvc,partial-views,asp.net-mvc-partialview,Asp.net Mvc,Partial Views,Asp.net Mvc Partialview,我可以在PartialViewResult()中返回如下视图吗 public PartialViewResult EditAdminProfile_Post(int Id, FormCollection formCollection) { //if (Session["AdminID"] != null) //{ Admin admin = new Admin(); admin = d
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
不是局部视图。可以。但是不建议这样做,因为您的\u布局
被忽略(这意味着css
或script
文件在布局中定义,因此您的样式和功能可能会与您预期的不同)。即使您可以让它工作,您也会看到代码气味
您是否希望将AdminProfile
重新用作局部视图和常规视图
- 创建具有可重用内容的部分视图
AdminProfilePartial
- 在您的
视图中,在其内部调用AdminProfile
(即使这是您所使用的全部)AdminProfilePartial
return View("AdminProfile");
其他部分视图:
return PartialView("AdminProfilePartial");
问题是您没有将模型传递给您的局部视图,这就是为什么当您调用它时,会得到一个
Null引用
使用以下行更新代码:
return PartialView("AdminProfile", admin);
PS与其使用
FormCollection
不如使用默认的模型绑定器,并在操作方法中接受Admin
模型为什么不试试呢?:)我正在尝试,但编译时错误@vsevolodgolovizninthin可能是你会发布你得到的错误吗?我想这在物理上是可能的,但你会得到某种形式的inception(双重布局);)对象引用未设置为对象的实例@VsevolodGoloviznini有一个局部视图,但当我重用它时,它的显示另一个选项卡和url也发生了更改。我不明白“它的显示另一个选项卡和url也发生了更改”是什么意思。最好将您的视图添加到问题中以使其更清楚。我有一个部分管理员视图,当我在返回视图中传递它时,当它重定向此链接时,它是/admin/\u adminprofile,而不是/admin/adminprofile