以下是表示用户个人资料属性的模型类。
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的初学者。请帮我解释详情..
答案 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用户年龄: - )