我为Umbraco开发了一个用户登录用户控件。我使用的是SQL Server 2008数据库。在用户控件中我放了一个try catch块。所以我点击登录按钮就会给出Null值异常。这是我的代码。
protected void Button_Click(object sender, EventArgs e)
{
string username = TextBox1.Text;
string password = TextBox2.Text;
try
{
String connstring = ConfigurationManager.AppSettings["umbracoDbDSN"].ToString();
SqlConnection sc = new SqlConnection(connstring);
sc.Open();
SqlCommand scmd = new SqlCommand("SELECT email,passwd FROM umbUser");
SqlDataReader sdr;
sdr = scmd.ExecuteReader();
while (sdr.Read())
{
String uname = sdr.GetString(1);
String pwd = sdr.GetString(2);
if ((username.Equals(uname)) && (password.Equals(pwd)))
{
TextBox1.Text = "Correct";
}
else
{
TextBox1.Text = "Wrong";
}
}
sc.Close();
}
catch (Exception e5)
{
TextBox1.Text = "" + e5;
}
}
答案 0 :(得分:0)
您希望重新编写现有的.net成员资格提供程序和功能,从头开始编写自己的程序,这似乎很不寻常。为什么不使用现有的成员资格功能和标准的.net控件。该代码将比您尝试使用代码示例的解决方案更具弹性,我很遗憾地说这将非常低效。
看看这个 - http://our.umbraco.org/wiki/how-tos/membership-providers