Я знаю, что я делаю неправильно, но не знаю, как это исправить, особенно на стороне LINQ. Как вы можете видеть, я запрашиваю данные в списке, но моя модель ожидает "ProfileModelData". Как исправить это, чтобы все выравнивалось?
контроллер:
public ActionResult _ProfilePartial(string Id)
{
ProfileModel model = new ProfileModel();
string un = Id;
model.pdata = (from p in db.Users
where p.userid == un
select new ProfileModelData { lastname = p.lastname }
).ToList();
return PartialView("_ProfilePartial", model.pdata);
}
Частичный вид:
@model MyApp.Models.ProfileModelData
<form id="EnrollForm" action="/MyView/SaveProfile" method="post" enctype="multipart/form-data">
<table>
<tr>
<td colspan="2">
<h3>Required Information</h3>
</td>
</tr>
<tr>
<td>E-Mail Address*</td>
<td>
<span class="NoWrap">
<input class="JobApplyInput FormReq" name="form_email1" id="form_email1" value="@Model.lastname" />
<label id="Req_Join_Email" for="form_email1">
@Html.Partial("_RequiredFieldPartial")
</label>
</span>
</td>
Модельные классы:
public class ProfileModelData
{
public string lastname { get; set; }
}
public class ProfileModel
{
public List<ProfileModelData> pdata { get; set; }
}
Пожалуйста, проигнорируйте тот факт, что "lastname" входит в ввод "email". Я просто пытаюсь заставить его работать в концепции прямо сейчас.
Вы можете использовать First
для получения единственного результата, у вас уже есть List, используйте First
и верните один ProfileModelData
return PartialView("_ProfilePartial", model.pdata.First());
ProfileModel
качестве модели для просмотра?