我有LoginViewModel
public class LoginViewModel
{
[Required]
[Display(Name = "Email")]
[EmailAddress]
public string Email { get; set; }
[Required]
[DataType(DataType.Password)]
[Display(Name = "Password")]
public string Password { get; set; }
[Display(Name = "Remember me?")]
public bool RememberMe { get; set; }
[Required]
[Display(Name = "Client ID")]
public string ClientID { get; set; }
}
当用户登录时,他输入他将使用的数据库的名称,因此使用客户端ID,我将构建一个连接字符串,用于实例化我的dbcontext EF。如何从另一个页面获取这些客户端ID的值,以便在实例化SystemContext连接字符串时检索它
public partial class SystemContext : DbContext
{
public SystemContext()
: base("name=SystemContext")
{
}
你说得对,
我使用了会话,但在另一个控制器中变为空。应该是
var clientId = (string) HttpContext.Session["ClientID"];
据我所知,您正试图将数据从页面A传输到页面B。
有几种方法可以传输数据:
- this.ViewBag["client"]="xxx";//只在同一个动作内传输,如果重定向到另一个动作,数据就会丢失
- this.TempData["client"]="xxx";//我建议这个
- this.Session["client"]="xxx";//会话数据
PS:您应该在控制器代码中设置它;u可以在控制器代码或页面呈现中使用它。
希望这能帮助你。:)