Кнопки с кнопочными полями запускают событие, хотя я не сопоставил его ни с какими событиями

Поэтому я пытаюсь реализовать столбец кнопок в моей таблице данных с полем кнопки. Тем не менее, я пока что не сопоставил их ни с одним событием, но по какой-то причине всякий раз, когда я нажимаю одну из кнопок, я полагаю, что это вызывает событие Page_Load. Это, конечно, перезагрузит страницу, но сама страница добавляет дубликат столбца из-за способа его кодирования. Однако я нахожу это странным, потому что всякий раз, когда я обновляю саму страницу, столбцы не дублируются. Возможно, это связано с тем, что при обновлении страницы она начинается с чистого состояния. Независимо от того, кнопки таинственным образом имеют функцию, и я полагаю, что это может мешать функциональности, которую я на самом деле хочу, чтобы она была.

public partial class ViewData : System.Web.UI.Page
{
    //will have use for this later
    private Member curMember;
    //database connection
    private SLHSDataContext SLHS_DB = new SLHSDataContext();

    private int curStudentIndex;

    //useful constant
    private const string NUMBER = "Number";
    private const string FIRSTNAME = "First Name";
    private const string LASTNAME = "Last Name";
    private const string AGE = "Age";
    private const string EMAIL = "Email";
    private const string EDIT = "Edit";

    protected void Page_Load(object sender, EventArgs e)
    {
        CheckMember();
        LoadDataTable();

    }

функция для LoadDataTable():

void LoadDataTable()
    {
        //create table
        DataTable table = new DataTable();

        AddColumnToTable(table);

        //query all students
        IQueryable<Member> query = from mem in SLHS_DB.Members
                                       where mem.RoleId == (int)Credentials.MemberRole.STUDENT
                                       select mem;

        Member[] students = query.ToArray();

        //add them to table
        curStudentIndex = 0;

        foreach (Member student in students)
        {
            AddRowToTable(table, student);
        }

        //Add the button column of "Remove"s

        ButtonField buttonField = new ButtonField
        {
            ButtonType = ButtonType.Button,
            Text = "Remove",
            HeaderText = "Edit",
            CommandName = "Remove"
        };
        gridViewStudent.Columns.Add(buttonField);

        //bind data to grid view
        gridViewStudent.DataSource = table;         
        gridViewStudent.DataBind();
    }

И обработчик событий, в который я хочу, чтобы он входил (но в настоящее время даже не вводится при нажатии кнопки) при нажатии кнопки выглядит следующим образом:

protected void gridViewStudent_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        System.Diagnostics.Debug.WriteLine("testing button event");
        if (e.CommandName == "Remove")
        {
            // Retrieve the row index stored in the 
            // CommandArgument property.
            int index = Convert.ToInt32(e.CommandArgument);
            System.Diagnostics.Debug.WriteLine(index);
            // Retrieve the row that contains the button 
            // from the Rows collection.
            //GridViewRow row = GridView1.Rows[index];

            // Add code here to add the item to the shopping cart.

        }

    }

0 ответов

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