MVC4 Razor 在单个视图上访问多个模型 类 时出现各种元素错误
MVC4 Razor On Accessing Multiple Model Classes on Single View Giving Error On Various Elements
我有一个 Shared Layout
用于登录。对于登录,我有一个 LoginViewModel
用于 username
、password
、returnurl
和 isRemember
。我有 userSaltValue
的另一个模型。我想在页面加载时在隐藏字段中的客户端获取用户盐值,我目前正在服务器端单击按钮。在使用这两种模型时,它给我上述参数的错误。我应该怎么做?
共享布局:
<!DOCTYPE html>
<html lang="en">
<head></head>
<body class="bg-gradient-primary">
@RenderBody()
</body>
</html>
Login.cshtml:
@model ROMvcApplication.Models.LoginVM
@model ROMvcApplication.Models.UserSalt
LoginVM.cs
namespace ROMvcApplication.Models
{
public class LoginVM
{
public string Username { get; set; }
public string Password { get; set; }
public string ReturnURL { get; set; }
public bool isRemember { get; set; }
}
}
UserSalt.cs:
namespace ROMvcApplication.Models
{
public class UserSalt
{
public string saltvalue { get; set; }
}
}
同一型号不能有两种不同类型:
@model ROMvcApplication.Models.LoginVM
@model ROMvcApplication.Models.UserSalt
毕竟,当您在该视图中引用 Model
变量时,您希望看到哪个?
您可以但是将您的字段添加到您已经在使用的模型中:
public class LoginVM
{
public string Username { get; set; }
public string Password { get; set; }
public string ReturnURL { get; set; }
public bool isRemember { get; set; }
public string saltvalue { get; set; }
}
或,如果您出于任何原因不想更改该模型,您可以为此视图创建一个复合模型:
public class LoginWithSaltVM
{
public LoginVM Login { get; set; }
public string saltvalue { get; set; }
}
基本上,您可以完全自由地创建和修改 类 以满足您的需要。
我有一个 Shared Layout
用于登录。对于登录,我有一个 LoginViewModel
用于 username
、password
、returnurl
和 isRemember
。我有 userSaltValue
的另一个模型。我想在页面加载时在隐藏字段中的客户端获取用户盐值,我目前正在服务器端单击按钮。在使用这两种模型时,它给我上述参数的错误。我应该怎么做?
共享布局:
<!DOCTYPE html>
<html lang="en">
<head></head>
<body class="bg-gradient-primary">
@RenderBody()
</body>
</html>
Login.cshtml:
@model ROMvcApplication.Models.LoginVM
@model ROMvcApplication.Models.UserSalt
LoginVM.cs
namespace ROMvcApplication.Models
{
public class LoginVM
{
public string Username { get; set; }
public string Password { get; set; }
public string ReturnURL { get; set; }
public bool isRemember { get; set; }
}
}
UserSalt.cs:
namespace ROMvcApplication.Models
{
public class UserSalt
{
public string saltvalue { get; set; }
}
}
同一型号不能有两种不同类型:
@model ROMvcApplication.Models.LoginVM
@model ROMvcApplication.Models.UserSalt
毕竟,当您在该视图中引用 Model
变量时,您希望看到哪个?
您可以但是将您的字段添加到您已经在使用的模型中:
public class LoginVM
{
public string Username { get; set; }
public string Password { get; set; }
public string ReturnURL { get; set; }
public bool isRemember { get; set; }
public string saltvalue { get; set; }
}
或,如果您出于任何原因不想更改该模型,您可以为此视图创建一个复合模型:
public class LoginWithSaltVM
{
public LoginVM Login { get; set; }
public string saltvalue { get; set; }
}
基本上,您可以完全自由地创建和修改 类 以满足您的需要。