Атрибуты. Добавьте Событие Onclick в коде c# позади

Модульные тесты, которым я верю, для тестирования открытых методов. Ваши открытые методы используют Ваши закрытые методы, так косвенно они также становятся протестированными.

6
задан MrDean 30 November 2009 в 13:25
поделиться

5 ответов

Прежде всего, убедитесь, что когда страница была сгенерирована, идентификатор по-прежнему "tbxProdAC", если это элемент управления .Net, идентификатор был бы изменен. В этом случае вы можете использовать класс.

Попробуйте следующее: - Здесь используется JQuery - вам нужно будет включить его

txtbxHowMany.Attributes.Add("onclick", "$('#tbxProdAC').val('');"); 

Добавьте следующее в раздел Head вашей страницы.

 <script type="text/javascript" src="jquery.js"></script> 

И вы можете получить JQuery .Js отсюда: http://docs.jquery.com/Downloading_jQuery#Download_jQuery

И почему: https://stackoverflow.com/questions/308751/why-use-jquery

7
ответ дан 16 December 2019 в 21:41
поделиться

ASP.NET Изменяет идентификаторы сгенерированных элементов управления, поэтому, вероятно, ваш tbxProdAc будет иметь свой идентификатор, измененный на что-то другое. Вам нужно запустить приложение один раз, просмотрите исходный код и узнайте Id вашего элемента управления, а затем замените "tbxProdAc" новым Id в вашем

txtbxHowMany.Attributes.Add("onclick", "document.getElementById('tbxProdAC').innerText='';"); 

, и да, он будет работать onLoad.

1
ответ дан 16 December 2019 в 21:41
поделиться

Основная проблема здесь в том, что когда ваш элемент управления находится внутри другого элемента управления (например, сетки), asp.net префикс идентификатора вашего элемента управления, чтобы идентификатор элемента управления был уникальным, например, идентификатор не будет txbProdAc, но будет Gridview1_txbProdAc или даже это: Panel1_Panel2_gridview1_txProdAc.

, если вы хотите узнать в коде, за каким идентификатором asp.net будет «передан» или «переименован» ваш элемент управления, вы можете использовать свойство .ClientID: txtProdAc.ClientID предоставит вам идентификатор, который вы должны использовать из javascript / jquery.

, если вы когда-нибудь поместите свой txbProdAc в другой элемент управления, он все равно будет работать, потому что функция .ClientID всегда будет давать вам правильный идентификатор для элемента управления в клиенте сценарий.

Мишель

1
ответ дан 16 December 2019 в 21:41
поделиться

Чтобы расширить ответ Мишеля , добавление события должно быть правильным, но вам нужно установить селектор идентификатора по-другому, поскольку ASP.NET изменяет идентификатор, который отправляется на клиент:

txtbxHowMany.Attributes.Add("onclick", string.Format("document.getElementById('{0}').innerText='';", tbxProdAC.ClientID));
0
ответ дан 16 December 2019 в 21:41
поделиться

Если вы используете представление конструктора, вы можете просто дважды щелкнуть текстовые поля, и он создаст для вас следующие методы:

    private void tbxProdAc_TextChanged(object sender, EventArgs e)
    {

    }

    private void txtbxHowMany_TextChanged(object sender, EventArgs e)
    {

    }

, тогда вам просто нужно отредактировать их следующим образом:

     private void tbxProdAc_TextChanged(object sender, EventArgs e)
    {
        txtbxHowMany.Clear();
    }

    private void txtbxHowMany_TextChanged(object sender, EventArgs e)
    {
        tbxProdAc.Clear();
    }
-1
ответ дан 16 December 2019 в 21:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: