Linq to SQL を使用して SQL サーバーにアクセスしようとしています。フィールドのuid、ユーザー名、パスワードを含むユーザーテーブルがあります。dbcontext の linq to sql クラスを作成しました。
login.aspx.cs のログイン画面を使用してサイトに接続できます。
protected void Login1_Authenticate(object sender, AuthenticateEventArgs e)
{
bool authenticated = false;
TrackToolDataContext data = new TrackToolDataContext();
authenticated = IsValidUser(Login1.UserName, Login1.Password);
e.Authenticated = authenticated;
if (e.Authenticated == true)
{
Session["username"] = Login1.UserName;
Response.Redirect("Welcome.aspx");
}
}
private bool IsValidUser(string un, string pw)
{
TrackToolDataContext data = new TrackToolDataContext();
var userResults = from u in data.UserDetails
where u.username == un
&& u.password == pw
select u;
return Enumerable.Count(userResults) > 0;
}
しかし、新しいユーザー画面を作成しようとすると、うまくいきません。テーブルを模倣するユーザー クラスに通常のユーザー名、パスワード フィールドを作成し、新しいユーザー ページで、ユーザー クラスからすべてのフィールドを取得しようとし、それを sql にリンクしようとしましたが、次のエラーが発生しています。
新しいユーザーを作成するための私のコードは次のとおりです。
protected void CreateUser_Click(object sender, EventArgs e)
{
// CreateUser(TextBox1.Text, TextBox2.Text);
User u = new User();
u.username = TextBox1.Text;
u.password = TextBox2.Text;
TrackToolDataContext data = new TrackToolDataContext();
data.UserDetails.InsertOnSubmit(u);
data.SubmitChanges();
}