2009-06-24 3 views

ответ

0

Я ничего о системе, которую вы используете, но низким вниз грязный, как я бы это сделать не знаю ...

Палка пользовательский элемент управления на пустой странице его собственной.

После того, как установлен флажок, запустите JQuery, чтобы получить содержимое HTML на странице, на которой находится пользовательский элемент управления, и вставьте его в div.

Это приведет к тому, что на вызывающей странице будет не очень аккуратный html.

И это asp: CheckBox или вход в html?

+0

Я использую пользовательский контроль ASP.NET. – Greens

0

Вы ищете что-то вроде этого:

$(function(){ 
    $('#Control').hide(); //initially hide the control 
    $('#checkbox').click(function(){ // bind the checkbox click event 
     if ($('#checkbox').attr('checked')) { 
      $('#Control').show(); 
     } 
    }); 
}); 


<mycontrol:UC id="Control" runat="server" /> 
+0

, так как вы используете asp.net. Я бы рекомендовал использовать селекторы классов вместо селекторов id, потому что ASP.NET имеет тенденцию изменять имя идентификатора при визуализации – TStamper

+0

В зависимости от размера или страницы и/или скорости подключения пользователя вы может получить вспышку управления, которое вы скрываете. Скройте его с помощью CSS. –

+0

true, это зависит от скорости вашего подключения к пользователю, поэтому, если вы хотите сохранить suprise suspense, спрячьте его с помощью CSS как стиль: hidden – TStamper

0

Если вы хотите создать новый объект, вы можете сделать это:

var checkbox = $("<input type='checkbox' ... />"); 
$('div#someID').append(checkbox); 

Хотя это звучит, как вы, возможно, хотите, чтобы получить данные для добавления из вызова AJAX. Я не могу сказать из этого вопроса.

0

Предполагая, что вы скрыть элемент управления с помощью CSS по умолчанию вы можете сократить код TStamper на что-то вроде:

$(function() { 
    $('#checkbox').click(function() { 
     $('#control').toggle(); 
    }); 
}); 

<mycontrol:UC id="control" runat="server" /> 
+0

Как это реализовать с помощью флажка ?. – Greens

0

Я неравнодушен к использованию taconite плагин JQuery в. Он позволяет вам возвращать несколько элементов управления из одного вызова ajax. Для простого сценария show/hide, при котором скрытый элемент управления на странице достаточно хорош. Если ваш элемент управления является большим или изменяется из-за действий пользователя, лучшим вариантом является управление рендерингом на сервере и использование js для обновления DOM. Если вы используете JQuery для обновления DOM и хотите найти управление по использованию ID:

$("[id$=controlId]") 

Это будет найти элемент управления даже с asp.net префиксов к идентификатору. Я работаю над простым c# wrapper для плагина taconite, который должен позволить вам использовать плагин более легко (пример веб-сайта скоро появится).

Смежные вопросы