Как использовать свойства в коде веб-элемента управления ASP.NET
Этот код взят из файла.aspx.cs для пользовательского веб-элемента управления. Приведенный ниже код выдает две ошибки: первая {под public void Button2_Click говорит: "} ожидается". затем последний} в коде говорит "определение типа или определения пространства имен или ожидаемый конец файла". как я могу сделать этот код лучше? и как я могу на самом деле заставить его функционировать?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace Tutorial_Examples_1
{
public partial class UserInfoBoxControl : System.Web.UI.UserControl
{
public void Page_Load(object sender, EventArgs e)
{
}
public void Button2_Click(object sender, EventArgs e)
{
private string userName;
private int userAge;
private string userCountry;
public string UserName
{
get { return userName; }
set { userName = value; }
}
public int UserAge
{
get { return userAge; }
set { userAge = value; }
}
public string UserCountry
{
get { return userCountry; }
set { userCountry = value; }
}
}
}
}
2 ответа
Вы вкладываете переменные и свойства-члены в тело метода. Это не разрешено в C#. Это должно быть сделано вне этого блока и вместо этого в теле класса.
using System.Web.UI;
using System.Web.UI.WebControls;
namespace Tutorial_Examples_1
{
public partial class UserInfoBoxControl : System.Web.UI.UserControl
{
private string userName;
private int userAge;
private string userCountry;
public string UserName
{
get { return userName; }
set { userName = value; }
}
public int UserAge
{
get { return userAge; }
set { userAge = value; }
}
public string UserCountry
{
get { return userCountry; }
set { userCountry = value; }
}
public void Page_Load(object sender, EventArgs e)
{
}
public void Button2_Click(object sender, EventArgs e)
{
}
}//class
}//namespace
Лучше создать отдельный класс для пользователя, например
public class UserInfo
{
private string userName;
private int userAge;
private string userCountry;
public string UserName
{
get { return userName; }
set { userName = value; }
}
public int UserAge
{
get { return userAge; }
set { userAge = value; }
}
public string UserCountry
{
get { return userCountry; }
set { userCountry = value; }
}
}
public partial class UserInfoBoxControl : System.Web.UI.UserControl
{
public void Page_Load(object sender, EventArgs e)
{
}
public void Button2_Click(object sender, EventArgs e)
{
UserInfo user = new UserInfo();
//Do you stuff with user object
}
}
Надеюсь это поможет!