我遇到了一个错误。尽管声明变量(failturetext和userName)仍然出现错误。谁能帮帮我吗?
- Use of Unassigned local variable "FailureText"
- Use of Unassigned local variable "UserName"
protected void Login1_LoginError(object sender, System.EventArgs e)
{
TextBox FailureText;
TextBox UserName;
//There was a problem logging in the user
//See if this user exists in the database
MembershipUser userInfo = Membership.GetUser(UserName.Text); // errors appear here
if (userInfo == null)
{
//The user entered an invalid username...
//error appear here ( failuretext.text)
FailureText.Text = "There is no user in the database with the username " + UserName.Text;
}
谢谢(:
答案 0 :(得分:3)
您已声明变量,但在尝试引用其属性之前尚未为它们分配任何内容。这是消息的起源。但是,你遇到了更大的问题,因为它们代表了UI控件,它们在函数中不太可能是局部变量。它们可能应该属于页面(或表单),而不是在本地声明。
答案 1 :(得分:0)
关于编译器消息 - 请查看此link
TextBox FailureText; - you declared a variable, but it is not initialized. you might set it to null / a value / default() - but you must initialize it
TextBox UserName; - the same
当您调用UserName.Text时 - 编译器会警告未初始化的UserName
答案 2 :(得分:0)
如果您希望保持与目前相同的约定,那么为了解决编译失败的问题,您希望在尝试引用它们之前先将两个变量分配为空值。
像这样:
TextBox FailureText = null;
TextBox UserName = null;
如果执行此操作,则可能需要在尝试分配这些对象的属性时检查它们是否仍为空。
正如上面的人所说,你不应该这样做,因为UI控件应该始终是表单本身的全局。