Получение значения из texbox в asp.net - PullRequest
2 голосов
/ 03 июня 2010

У меня есть веб-страница, которая содержит несколько панелей (используется для отображения и скрытия различных текстовых полей), а одна конкретная панель содержит текстовые поля, используемые для редактирования записей. Однако, когда я пытаюсь обновить таблицу, txtVendorName.Text.Trim () остается пустым.

            SqlConnection con = new SqlConnection(strConn);
        string sqlUpdateVendor = "usp_Vendor_Update";
        SqlCommand cmdUpdateVendor = new SqlCommand(sqlUpdateVendor, con);

        cmdUpdateVendor.CommandType = CommandType.StoredProcedure;

        cmdUpdateVendor.Parameters.Add(new SqlParameter("@RecID", SqlDbType.VarChar, 50));
        cmdUpdateVendor.Parameters["@RecID"].Value = Request.QueryString["Rec_ID"];

        cmdUpdateVendor.Parameters.Add(new SqlParameter("@empid", SqlDbType.VarChar, 11));
        cmdUpdateVendor.Parameters["@empid"].Value = txtEmpIDNumber.Text.Trim();

        cmdUpdateVendor.Parameters.Add(new SqlParameter("@VendorName", SqlDbType.VarChar, 100));
        cmdUpdateVendor.Parameters["@VendorName"].Value = txtVendorName.Text.Trim();

Код не выдает никакой ошибки.

Есть идеи, почему текстовое поле не содержит значения?

Хорошо, установка свойства PostBackURL кнопки отправки для PageABC.aspx решает эту проблему. Кто-нибудь знает, как и почему свойство postbackurl может разрешить что-то подобное?

Ответы [ 6 ]

0 голосов
/ 17 июля 2012

При нажатии на кнопку «Отправить», 1-й указывает на событие загрузки страницы, затем свойство button_click.

Так что, если вы выгружаете любое значение текстового поля при загрузке страницы ..defi. он перемещается по нулевому значению.

0 голосов
/ 04 июня 2010

Хорошо, установка свойства PostBackURL кнопки отправки для PageABC.aspx решила эту проблему. Кто-нибудь знает, как и почему свойство postbackurl может разрешить что-то подобное?

0 голосов
/ 04 июня 2010

Вы динамически создаете свои текстовые поля? Если это так, убедитесь, что вы делаете это в init, жизненный цикл страницы немного сложен и может привести к проблемам с текстовыми полями, если вы создадите их после init (то есть, когда элементы управления зарегистрированы).

0 голосов
/ 04 июня 2010

Когда этот код вызывается? В событии на кнопке?

Важно помнить жизненный цикл страницы ASP.NET.

http://msdn.microsoft.com/en-us/library/ms178472.aspx

http://www.15seconds.com/Issue/020102.htm

Если вы вызываете его в событии на кнопке, возможно, вы устанавливаете его как пустое где-то ранее в цикле. Если вы делаете это в page_load, используйте if (! Page.IsPostBack) {}, где вы устанавливаете его как пустое, таким образом, оно будет очищать его только при первой загрузке страницы, а не прямо перед тем, как вы захотите использовать в событии кнопки!

0 голосов
/ 04 июня 2010

Убедитесь, что вы не устанавливаете txtVendorName.Text пустым в ваших событиях Load или PreRender без проверки ispostback

0 голосов
/ 03 июня 2010

Попробуйте пройти этот код с помощью отладчика. Посмотрите, есть ли орфографическая ошибка.

...