C# 当我打开视图时,mvc模型中有空对象
各位好消息。我有个小问题。我无法在表格中显示数据。我将代码移动到HomeContoller,修复了空对象的错误 家庭控制器C# 当我打开视图时,mvc模型中有空对象,c#,asp.net-mvc,asp.net-mvc-4,view,C#,Asp.net Mvc,Asp.net Mvc 4,View,各位好消息。我有个小问题。我无法在表格中显示数据。我将代码移动到HomeContoller,修复了空对象的错误 家庭控制器 using NarkomApp.Models; 使用System.Collections.Generic; 使用System.Web.Mvc 名称空间NarkomApp.Controllers { 公共类HomeController:控制器 { NarkomEntities dbModel=新的NarkomEntities() public ActionResult In
using NarkomApp.Models;
使用System.Collections.Generic;
使用System.Web.Mvc
名称空间NarkomApp.Controllers
{
公共类HomeController:控制器
{
NarkomEntities dbModel=新的NarkomEntities()
public ActionResult Index()
{
返回视图();
}
公共操作结果个人页面()
{
PersonalPageModel PersonalPageModel=新的PersonalPageModel();
列表用户=新列表();
List List_PersonalInf=新列表();
personalPageModel.list_用户=list_用户;
personalPageModel.list\u PersonalInf=list\u PersonalInf;
personalPageModel.ChangePasswordErrorMessage=“а;
返回视图(“~/Views/Home/PersonalPage.cshtml”,personalPageModel);
}
公共操作结果AddOrEdit()
{
返回视图();
}
公共操作结果注销()
{
int iIdUser=(int)会话[“iIdUsers”];
会话。放弃();
返回重定向到操作(“索引”、“主页”);
}
}
查看代码:
@model NarkomApp.Models.PersonalPageModel
@if (Model != null)
{
<table border="0">
<tr>
<td colspan="2"><h2>Персональные данные</h2></td>
<td></td>
</tr>
@foreach (var personalInf in Model.list_PersonalInf)
{
<tr>
<td><p>Город:</p></td>
<td>@Html.Label(@personalInf.vCity, new { htmlAttributes = new { @class = "form-control" } })</td>
</tr>
<tr>
<td><p>ФИО:</p></td>
<td>@Html.Label(@personalInf.vFIO, new { htmlAttributes = new { @class = "form-control" } })</td>
</tr>
<tr>
<td><p>Индекс:</p></td>
<td>@Html.Label(@personalInf.vIndex, new { htmlAttributes = new { @class = "form-control" } })</td>
</tr>
<tr>
<td><p>Населенный пункт:</p></td>
<td>@Html.Label(personalInf.vLocality, new { htmlAttributes = new { @class = "form-control" } })</td>
</tr>
<tr>
<td><p>Улица:</p></td>
<
<td>@Html.Label(@personalInf.vStreet, new { htmlAttributes = new { @class = "form-control" } })</td>
</tr>
<tr>
<td><p>Дом/корпус/строение:</p></td>
<td>@Html.Label(@personalInf.vHome, new { htmlAttributes = new { @class = "form-control" } })</td>
</tr>
<tr>
<td><p>Квартира:</p></td>
<
<td>@Html.Label(@personalInf.vApartment, new { htmlAttributes = new { @class = "form-control" } })</td>
</tr>
<tr>
<td><p>Телефон:</p></td>
<td>@Html.Label(@personalInf.vPhone, new { htmlAttributes = new { @class = "form-control" } })</td>
</tr>
}
<tr>
<td colspan="2"><hr /></td>
<td></td>
</tr>
<tr>
<td colspan="2"><h2>Форма изменения данных</h2></td>
<td></td>
</tr>
@foreach (var personalInf in Model.list_PersonalInf)
{
<tr>
<td><p>Город:</p></td>
<td>@Html.Editor(@personalInf.vCity, new { htmlAttributes = new { @class = "form-control" } })</td>
</tr>
<tr>
<td><p>ФИО:</p></td>
<td>@Html.Editor(@personalInf.vFIO, new { htmlAttributes = new { @class = "form-control" } })</td>
</tr>
<tr>
<td><p>Индекс:</p></td>
<td>@Html.Editor(@personalInf.vIndex, new { htmlAttributes = new { @class = "form-control" } })</td>
</tr>
<tr>
<td><p>Населенный пункт:</p></td>
<td>@Html.Editor(personalInf.vLocality, new { htmlAttributes = new { @class = "form-control" } })</td>
</tr>
<tr>
<td><p>Улица:</p></td>
<
<td>@Html.Editor(@personalInf.vStreet, new { htmlAttributes = new { @class = "form-control" } })</td>
</tr>
<tr>
<td><p>Дом/корпус/строение:</p></td>
<td>@Html.Editor(@personalInf.vHome, new { htmlAttributes = new { @class = "form-control" } })</td>
</tr>
<tr>
<td><p>Квартира:</p></td>
<
<td>@Html.Editor(@personalInf.vApartment, new { htmlAttributes = new { @class = "form-control" } })</td>
</tr>
<tr>
<td><p>Телефон:</p></td>
<td>@Html.Editor(@personalInf.vPhone, new { htmlAttributes = new { @class = "form-control" } })</td>
</tr>
<tr>
<td><input type="submit" value="Изменить" class="btn-submit" /></td>
<td><input type="reset" value="Очистка" class="btn-submit" /></td>
</tr>
}
<tr>
<td colspan="2"><hr /></td>
<td></td>
</tr>
<tr>
<td colspan="2"><h2>Форма изменения пароля</h2></td>
<td></td>
</tr>
@foreach (var users in Model.list_Users)
{
<tr>
<td><p>Старый пароль:</p></td>
<td>
@Html.Editor(Model.NewPassword, new { htmlAttributes = new { @class = "form-control" } })<br />
@Html.ValidationMessage(Model.NewPassword, "", new { @class = "text-danger" })
</td>
</tr>
<tr>
<td><p>Новый пароль:</p></td>
<td>
@Html.Editor(@users.vPassword, new { htmlAttributes = new { @class = "form-control" } })<br />
@Html.ValidationMessage(@users.vPassword, "", new { @class = "text-danger" })
</td>
</tr>
<tr>
<td><p>Подтвердите пароль:</p></td>
<td>
@Html.Editor(@users.ConfirmPassword, new { htmlAttributes = new { @class = "form-control" } })<br />
@Html.ValidationMessage(@users.ConfirmPassword, "", new { @class = "text-danger" })
</td>
</tr>
}
<tr>
<td><input type="submit" value="Изменить" class="btn-submit" /></td>
<td><input type="reset" value="Очистка" class="btn-submit" /></td>
</tr>
<tr>
<td colspan="2"><hr /></td>
<td></td>
</tr>
<tr>
<td colspan="2"><p>Подписаться на рассылку</p> @Html.CheckBox("cbIsSendInf", true)</td>
<td></td>
</tr>
<tr>
<td colspan="2"><hr /></td>
<td></td>
</tr>
<tr>
<td colspan="2">@Html.ActionLink("Выход из аккаунта!", "LogOut", "Home", null, new { @class = "form-control" })</td>
<td></td>
</tr>
</table>
} @* End if *@
else
{
<h2>Проблема с сессией, пустой объект!</h2>
}
@model NarkomApp.Models.PersonalPageModel
@如果(型号!=null)
{
Персональные данные
@foreach(Model.list\u personalInf中的var personalInf)
{
Гааа:
@Label(@personalInf.vCity,new{htmlAttributes=new{@class=“form control”}})
Фаа:
@Label(@personalInf.vFIO,new{htmlAttributes=new{@class=“form control”}})
аааС:
@Label(@personalInf.vIndex,new{htmlAttributes=new{@class=“form control”}})
аааааааааааааа
@Label(personalInf.vLocality,new{htmlAttributes=new{@class=“form control”}})
Уаа
<
@Label(@personalInf.vStreet,new{htmlAttributes=new{@class=“form control”}})
цБМ/цПС/цц
@Label(@personalInf.vHome,new{htmlAttributes=new{@class=“form control”}})
а
<
@Label(@personalInf.vApartment,new{htmlAttributes=new{@class=“form control”}})
ццфц:
@Label(@personalInf.vPhone,new{htmlAttributes=new{@class=“form control”}})
}
Форма изменения данных
@foreach(Model.list\u personalInf中的var personalInf)
{
Гааа:
@编辑器(@personalInf.vCity,new{htmlAttributes=new{@class=“form control”}})
Фаа:
@编辑器(@personalInf.vFIO,new{htmlAttributes=new{@class=“form control”})
аааС:
@编辑器(@personalInf.vIndex,new{htmlAttributes=new{@class=“form control”})
аааааааааааааа
@编辑器(personalInf.vLocality,new{htmlAttributes=new{@class=“form control”}})
Уаа
<
@编辑器(@personalInf.vStreet,new{htmlAttributes=new{@class=“form control”}})
цБМ/цПС/цц
@编辑器(@personalInf.vHome,new{htmlAttributes=new{@class=“form control”})
а
<
@编辑器(@personalInf.vApartment,new{htmlAttributes=new{@class=“form control”})
ццфц:
@编辑器(@personalInf.vPhone,new{htmlAttributes=new{@class=“form control”}})
}
Форма изменения пароля
@foreach(模型中的var用户。列出用户)
{
Саааааааааа:
@编辑器(Model.NewPassword,new{htmlAttributes=new{@class=“form control”}})
@Html.ValidationMessage(Model.NewPa
@model NarkomApp.Models.PersonalPageModel
@if (Model != null)
{
<table border="0">
<tr>
<td colspan="2"><h2>Персональные данные</h2></td>
<td></td>
</tr>
@foreach (var personalInf in Model.list_PersonalInf)
{
<tr>
<td><p>Город:</p></td>
<td>@Html.Label(@personalInf.vCity, new { htmlAttributes = new { @class = "form-control" } })</td>
</tr>
<tr>
<td><p>ФИО:</p></td>
<td>@Html.Label(@personalInf.vFIO, new { htmlAttributes = new { @class = "form-control" } })</td>
</tr>
<tr>
<td><p>Индекс:</p></td>
<td>@Html.Label(@personalInf.vIndex, new { htmlAttributes = new { @class = "form-control" } })</td>
</tr>
<tr>
<td><p>Населенный пункт:</p></td>
<td>@Html.Label(personalInf.vLocality, new { htmlAttributes = new { @class = "form-control" } })</td>
</tr>
<tr>
<td><p>Улица:</p></td>
<
<td>@Html.Label(@personalInf.vStreet, new { htmlAttributes = new { @class = "form-control" } })</td>
</tr>
<tr>
<td><p>Дом/корпус/строение:</p></td>
<td>@Html.Label(@personalInf.vHome, new { htmlAttributes = new { @class = "form-control" } })</td>
</tr>
<tr>
<td><p>Квартира:</p></td>
<
<td>@Html.Label(@personalInf.vApartment, new { htmlAttributes = new { @class = "form-control" } })</td>
</tr>
<tr>
<td><p>Телефон:</p></td>
<td>@Html.Label(@personalInf.vPhone, new { htmlAttributes = new { @class = "form-control" } })</td>
</tr>
}
<tr>
<td colspan="2"><hr /></td>
<td></td>
</tr>
<tr>
<td colspan="2"><h2>Форма изменения данных</h2></td>
<td></td>
</tr>
@foreach (var personalInf in Model.list_PersonalInf)
{
<tr>
<td><p>Город:</p></td>
<td>@Html.Editor(@personalInf.vCity, new { htmlAttributes = new { @class = "form-control" } })</td>
</tr>
<tr>
<td><p>ФИО:</p></td>
<td>@Html.Editor(@personalInf.vFIO, new { htmlAttributes = new { @class = "form-control" } })</td>
</tr>
<tr>
<td><p>Индекс:</p></td>
<td>@Html.Editor(@personalInf.vIndex, new { htmlAttributes = new { @class = "form-control" } })</td>
</tr>
<tr>
<td><p>Населенный пункт:</p></td>
<td>@Html.Editor(personalInf.vLocality, new { htmlAttributes = new { @class = "form-control" } })</td>
</tr>
<tr>
<td><p>Улица:</p></td>
<
<td>@Html.Editor(@personalInf.vStreet, new { htmlAttributes = new { @class = "form-control" } })</td>
</tr>
<tr>
<td><p>Дом/корпус/строение:</p></td>
<td>@Html.Editor(@personalInf.vHome, new { htmlAttributes = new { @class = "form-control" } })</td>
</tr>
<tr>
<td><p>Квартира:</p></td>
<
<td>@Html.Editor(@personalInf.vApartment, new { htmlAttributes = new { @class = "form-control" } })</td>
</tr>
<tr>
<td><p>Телефон:</p></td>
<td>@Html.Editor(@personalInf.vPhone, new { htmlAttributes = new { @class = "form-control" } })</td>
</tr>
<tr>
<td><input type="submit" value="Изменить" class="btn-submit" /></td>
<td><input type="reset" value="Очистка" class="btn-submit" /></td>
</tr>
}
<tr>
<td colspan="2"><hr /></td>
<td></td>
</tr>
<tr>
<td colspan="2"><h2>Форма изменения пароля</h2></td>
<td></td>
</tr>
@foreach (var users in Model.list_Users)
{
<tr>
<td><p>Старый пароль:</p></td>
<td>
@Html.Editor(Model.NewPassword, new { htmlAttributes = new { @class = "form-control" } })<br />
@Html.ValidationMessage(Model.NewPassword, "", new { @class = "text-danger" })
</td>
</tr>
<tr>
<td><p>Новый пароль:</p></td>
<td>
@Html.Editor(@users.vPassword, new { htmlAttributes = new { @class = "form-control" } })<br />
@Html.ValidationMessage(@users.vPassword, "", new { @class = "text-danger" })
</td>
</tr>
<tr>
<td><p>Подтвердите пароль:</p></td>
<td>
@Html.Editor(@users.ConfirmPassword, new { htmlAttributes = new { @class = "form-control" } })<br />
@Html.ValidationMessage(@users.ConfirmPassword, "", new { @class = "text-danger" })
</td>
</tr>
}
<tr>
<td><input type="submit" value="Изменить" class="btn-submit" /></td>
<td><input type="reset" value="Очистка" class="btn-submit" /></td>
</tr>
<tr>
<td colspan="2"><hr /></td>
<td></td>
</tr>
<tr>
<td colspan="2"><p>Подписаться на рассылку</p> @Html.CheckBox("cbIsSendInf", true)</td>
<td></td>
</tr>
<tr>
<td colspan="2"><hr /></td>
<td></td>
</tr>
<tr>
<td colspan="2">@Html.ActionLink("Выход из аккаунта!", "LogOut", "Home", null, new { @class = "form-control" })</td>
<td></td>
</tr>
</table>
} @* End if *@
else
{
<h2>Проблема с сессией, пустой объект!</h2>
}
return View("~/Views/Home/PersonalPage.cshtml", new PersonalPageModel(){
ChangePasswordErrorMessage = "Новый пароль совпадает со старым!",
list_Users = new List<USERS>(),
list_PersonalInf = new List<PERSONAL_INF>()
});
//PersonalPageModel personalPageModel = new PersonalPageModel();---> remove this
// GET: PersonalPage
public ActionResult PersonalPage()
{
PersonalPageModel personalPageModel = new PersonalPageModel(); // use here in the action method instead
List<USERS> list_Users = new List<USERS>();
List<PERSONAL_INF> list_PersonalInf = new List<PERSONAL_INF>();
personalPageModel.list_Users = list_Users;
personalPageModel.list_PersonalInf = list_PersonalInf;
personalPageModel.ChangePasswordErrorMessage = "Новый пароль совпадает со старым!";
return View("~/Views/Home/PersonalPage.cshtml", personalPageModel);
}