Передача неверного типа данных в модель частичного представления. Как мне исправить?

0

Я знаю, что я делаю неправильно, но не знаю, как это исправить, особенно на стороне 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". Я просто пытаюсь заставить его работать в концепции прямо сейчас.

  • 0
    почему вы не принимаете ProfileModel качестве модели для просмотра?
Теги:
linq
asp.net-mvc

1 ответ

0
Лучший ответ

Вы можете использовать First для получения единственного результата, у вас уже есть List, используйте First и верните один ProfileModelData

return PartialView("_ProfilePartial", model.pdata.First());

Ещё вопросы

Сообщество Overcoder
Наверх
Меню