Событие нажатия кнопки не найдено? - PullRequest
2 голосов
/ 02 мая 2011

Q: Я сумасшедший?У меня есть событие.Имя скопировано / вставлено, поэтому я знаю, что это не опечатка.Что мне здесь не хватает? (Не беспокойтесь о параметрах, пожалуйста, это для обучения, и мне сказали, чтобы не использовать их сейчас)1007 *

 protected void BtnEpl_Click(object sender, EventArgs e)
        {
             string connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString;
            string EplQuery = "INSERT INTO EPL (Entity, Employees, CA, MI, NY, NJ, Primex, EplLim, EplSir, Premium, Wage, Sublim) VALUES ('" + TbEplEntity + "', '" + TbEplTotalEmpl + "', '" + TbEplCalEmpl + "', '" + TbEplMichEmpl + "', '" + TbEplNyEmpl + "', '" + TbEplNjEmpl + "', '" + TbEplPrimEx + "', '" + TbEplLim + "', '" + TbEplEplSir + "', '" + TbEplPrem + "', '" + TbEplWage + "', '" + TbEplInvestCost + "')";
            string EplIdQuery = "SELECT SCOPE_IDENTITY() AS LastInsertedInstanceId";

        using (SqlConnection EplConn = new SqlConnection(connectionString))
        {
            EplConn.Open();
            SqlCommand EplCmd = new SqlCommand(EplQuery, EplConn);
            SqlCommand EplIdCmd = new SqlCommand(EplIdQuery, EplConn);
            using (EplCmd)
            using (EplIdCmd)
            {
                EplCmd.ExecuteNonQuery();
                SqlDataReader EplDr = EplIdCmd.ExecuteReader();
                EplDr.Read();
                int lastInsertedInstanceId = Convert.ToInt32(EplDr[0]);


            }

            string x = Request.QueryString["InstanceId"];
            string EplShowQuery = "SELECT Entity, Employees, CA, MI, NY, NJ, Primex, EplLim, EplSir, Premium, Wage, Sublim FROM EPL WHERE InstanceId =" + x;
            using (SqlCommand EplShowCmd = new SqlCommand(EplShowQuery, EplConn))
            {
                SqlDataReader EplDr = EplShowCmd.ExecuteReader();
                EplDr.Read();
                LblEplShowEntity.Text = EplDr.GetString(0);
                LblEplShowTotalEmpl.Text = EplDr.GetInt32(1).ToString();
                LblEplShowCalEmpl.Text = EplDr.GetInt32(2).ToString();
                LblEplShowMichEmpl.Text = EplDr.GetInt32(3).ToString();
                LblEplShowNyEmpl.Text = EplDr.GetInt32(4).ToString();
                LblEplShowNjEmpl.Text = EplDr.GetInt32(5).ToString();
                LblEplShowPrimEx.Text = EplDr.GetInt32(6).ToString();
                LblEplShowLim.Text = EplDr.GetInt32(7).ToString();
                LblEplShowSir.Text = EplDr.GetInt32(8).ToString();
                LblEplShowPrem.Text = EplDr.GetInt32(9).ToString();
                LblEplShowWage.Text = EplDr.GetInt32(10).ToString();
                LblEplShowInvestCost.Text = EplDr.GetInt32(11).ToString();

            }
        }
            UdpEPL.Visible = false;
            UdpEplShow.Visible = true;


    }
}

Ответы [ 3 ]

4 голосов
/ 02 мая 2011

В триггере вам нужно только указать имя события.

Это должно быть

<asp:AsyncPostBackTrigger ControlID="BtnEpl" EventName="Click" />

вместо

<asp:AsyncPostBackTrigger ControlID="BtnEpl" EventName="BtnEpl_Click" />
0 голосов
/ 04 мая 2011

Просто в интересах дать ответ на этот вопрос, я должен указать на мою ошибку. @ Мухаммед спросил меня, почему панели были установлены на visible = false; это было из-за того, как я пытался приблизиться к структуре страницы. Я хотел использовать ajax для отображения форм ввода, а затем скрывать их при отправке в БД и отображать данные в формате только для чтения, поэтому я решил поместить обе формы в панели обновления и сделать их невидимыми, пока они не будут вызваны выпадающий список. К сожалению, я обнаружил, что триггеры не будут срабатывать на невидимых элементах управления. Не цитируйте меня, но, насколько я понимаю, это потому, что невидимые серверные элементы управления не отправляют разметку в браузер. Урок выучен.

0 голосов
/ 02 мая 2011

Вы закрываете First ContentTemplate в какой-то момент? Если вы делаете это после разметки кнопок, включите ChildrenAsTriggers = "true".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...