Asp.net 控制器中的建模

Asp.net 控制器中的建模,asp.net,asp.net-mvc,build,model,asp.net-mvc-4,Asp.net,Asp.net Mvc,Build,Model,Asp.net Mvc 4,我有一个链接,可以打开一个对话框给用户添加个人资料 我希望数据在隐藏字段中 控制器调用此视图,但我不确定如何在控制器中填充我的模型,然后使用此视图中的模型设置值属性 这是我的控制器,正如你所看到的,我正在使用ViewBag,我不想这样 public ActionResult EditUser() { try { MembershipUser membershipUser = Membership.GetUser(Request.Q

我有一个链接,可以打开一个对话框给用户添加个人资料

我希望数据在隐藏字段中

控制器调用此视图,但我不确定如何在控制器中填充我的模型,然后使用此视图中的模型设置值属性

这是我的控制器,正如你所看到的,我正在使用ViewBag,我不想这样

public ActionResult EditUser()
    {
        try 
        {
            MembershipUser membershipUser = Membership.GetUser(Request.QueryString["username"]);
            ViewBag.user = membershipUser;

            return PartialView();

        }
        catch (Exception e)
        {   
            return Content("Error: " + e);
        }
    }
你能帮助我理解如何构建我的模型并在我的视图中使用它吗?
非常感谢…

您所要做的就是将您创建的模型传递到视图/局部视图的调用中。因此,在您的实例中,不要调用:

ViewBag.user = membershipUser
你应使用:

return PartialView(membershipUser);
您只需要确保在视图的顶部有一个@model声明。大概是这样的:

@model MembershipUser;
<p>@Model.SomeField</p>

您所要做的就是将创建的模型传递到视图/局部视图的调用中。因此,在您的实例中,不要调用:

ViewBag.user = membershipUser
你应使用:

return PartialView(membershipUser);
您只需要确保在视图的顶部有一个@model声明。大概是这样的:

@model MembershipUser;
<p>@Model.SomeField</p>
您只需将MembershipUser传递给视图并将其用作模型。控制器操作方法将检索用户并将其返回到视图:

MembershipUser membershipUser = Membership.GetUser(Request.QueryString["username"]);
return PartialView("PartialViewName", membershipUser); // Specify the partial view name and pass the membership user as a model
然后在视图中添加@model指令并访问MembershipUser的属性:

您只需将MembershipUser传递给视图并将其用作模型。控制器操作方法将检索用户并将其返回到视图:

MembershipUser membershipUser = Membership.GetUser(Request.QueryString["username"]);
return PartialView("PartialViewName", membershipUser); // Specify the partial view name and pass the membership user as a model
然后在视图中添加@model指令并访问MembershipUser的属性:


您必须添加一个模型名UserModel并在那里定义用户对象

 public class UserModel
        {   
            public User UserInfo { get; set; }

        }
现在将@model UI.Web.App.Models.UserModel添加到EditUser.cshtml中Partialview的顶部

在此之后,还要更改控制器代码-

public ActionResult EditUser()
    {
        try 
        {
            MembershipUser membershipUser = Membership.GetUser(Request.QueryString["username"]);
            UserModel usermodel=new UserModel();
            usermodel.UserInfo = membershipUser;
            return PartialView(usermodel);

        }
        catch (Exception e)
        {   
            return Content("Error: " + e);
        }
    }
它将从控制器中移除视图包。
希望这能对您有所帮助,如果有任何问题,请告诉我。

您必须在那里添加一个模型名UserModel并定义用户对象

 public class UserModel
        {   
            public User UserInfo { get; set; }

        }
现在将@model UI.Web.App.Models.UserModel添加到EditUser.cshtml中Partialview的顶部

在此之后,还要更改控制器代码-

public ActionResult EditUser()
    {
        try 
        {
            MembershipUser membershipUser = Membership.GetUser(Request.QueryString["username"]);
            UserModel usermodel=new UserModel();
            usermodel.UserInfo = membershipUser;
            return PartialView(usermodel);

        }
        catch (Exception e)
        {   
            return Content("Error: " + e);
        }
    }
它将从控制器中移除视图包。 希望这将帮助你,如果有任何问题,请让我知道