在MVC中显示个人资料

时间:2015-07-13 10:37:03

标签: asp.net-mvc

以下是表示用户个人资料属性的模型类。

public class Profile
{

    public int ProfileId { get; set; }
    public string UserName { get; set; }
    public string Age { get; set; }
    public string Gender { get; set; }
    public string Password { get; set; }
    public string Email { get; set; }
}

当用户创建他们的个人资料时,他们的个人资料将保存在数据库中。当他们使用他们的电子邮件和密码登录时,我想只向他们展示他们的个人资料。我怎样才能做到这一点? 我是mvc的初学者。请帮我解释详情..

1 个答案:

答案 0 :(得分:0)

您必须创建一个Profile Controller并将GetProfile作为方法。 getProfile将加载所有用户的数据并将其显示给客户。

Public Class Profile : Controller
{
pubmlic ActionResult GetProfile()
{

//例如,在会话中获取用户ID,或者在其他地方获取用户ID,这里我为示例添加了5,但它必须是动态的 int userId = 5;     //撤消信息并将其放入模型变量中     个人档案userprofil = GetUser(userId);     返回视图(模型);     }     }

其中GetUser(userId)是获取用户详细信息的入口点,例如

public static Class MyDataAccessLayerForUser
{
public static Profile GetUser(userId)
{
string SQL = "SELECT * from database WHERE user = @user";
// add @user parameter
// perform the query
...
Profile data = userReadOnDB;
return data;
}
}

然后,您必须创建向用户显示所有元素的视图,因此在Views / Profile中,创建一个名为" GetProfile?cshtml"的视图(.cshtml)。你必须使用你在控制器中后退的模型:

@model YourProjectNamespaceToTheProfileObject.Profile 

@Html.Display(m => m.UserName)
@Html.Display(m => m.Age)

所以这是对你的问题的回应,但我不得不说已经为ASP.NET MVC做了身份验证,(它被称为身份),我建议你存储出生日期的instread用户年龄: - )