Как получить контроль внутри ASP DetailsView через JavaScript? - PullRequest
2 голосов
/ 29 марта 2011

Может кто-нибудь описать мне, как найти элемент управления внутри ASP DetailsView, используя JavaScript?Мое требование состоит в том, чтобы при нажатии кнопки клиента отображалось поле подтверждения, если флажок установлен или нет.


Вот код, работающий без DetailsView-

<script type="text/javascript" language="javascript">
function confirmation() {
    var chkbx = document.getElementById("chkbox4PubnOrder");

    if (chkbx.checked == false) {
        var answer = confirm('Are you sure to add a feature which be published');
        if (answer) {
            return true;
        }
        else {
            return false;
        }
    }
    else {
        return true;
    }
}
</script>

, где chkbox4PubnOrder - флажок asp.В случае подробного просмотра вышеупомянутый код не может найти флажок
И я запускаю это событие onclientclick кнопки asp -

OnClientClick="if(!confirmation()) return false;"

Пожалуйста, помогите ...

Ответы [ 3 ]

0 голосов
/ 29 марта 2011

Или вы всегда можете просмотреть источник страницы после ее просмотра в браузере и посмотреть, какой идентификатор он присвоил элементу управления. Обычно он состоит из имени страницы и любых дополнительных «слоев», которые вы, возможно, добавили, таких как пользовательские элементы управления и т. Д.

0 голосов
/ 31 марта 2011

<%= chkbox4PubnOrder.ClientID %> также не работает, так как элемент управления находится внутри ASP DetailView.я пробовал так же, как мы ищем элемент управления внутри GridView или сетки данных.Это также не повезло.

Я пытался получить элемент управления, как показано ниже

<script type="text/javascript" language="javascript">
function confirmation() {

    // first finding asp detailsview
    var detailsview = document.getElementById('<%= DetailsView1.ClientID %>');
    //then finding control inside the detailsview
    var chekbx = detailsview.getElementByTagName("chkbox4PubnOrder");

    if (chkbx.checked == false) {
        return confirm('Are you sure to add a feature which be published');
    }
    else {
        return true;
    }
}
</script>

Этот код не показывает chkbx как null, то есть он находит флажок внутри подробного просмотра, но не может найтипроверено или нет.Нужна ли доработка?если да то опишите пожалуйста как?

0 голосов
/ 29 марта 2011

ASP.Net генерирует свои собственные идентификаторы для серверных элементов управления.

Вы можете написать <%= chkbox4PubnOrder.ClientID %>, чтобы получить этот сгенерированный идентификатор.

...