将错误的数据类型传递给局部视图模型。我该如何解决?

时间:2014-02-20 14:02:53

标签: c# html asp.net-mvc linq

我知道我做错了什么但不知道如何修复它,特别是在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; }
}

请忽略“姓氏”进入“电子邮件”输入的事实。我现在正试图让它在概念上发挥作用。

1 个答案:

答案 0 :(得分:0)

您可以使用First获取单个结果,您已有一个列表,使用First并返回一个ProfileModelData

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