Как использовать свойства в коде веб-элемента управления 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
    }
}

Надеюсь это поможет!

Другие вопросы по тегам