2013-05-07 2 views
0

Отказ от ответственности: Я новичок в разработке ASP.net и могу неправильно использовать некоторые слова.Изменение элементов управления в окне DOM

Я использую плагин jquery.DOMwindow.js, источник здесь: http://swip.codylindley.com/jquery.DOMWindow.js

В моей странице «Home.aspx», я открываю страницу, которая будет иметь некоторые жерех: CheckBox управления на нем. Эти элементы управления находятся на моей странице «DOMExample.aspx».

<a href="DOMexample.aspx" class="fixedAjaxDOMWindow" runat="server"> 
Check some check boxes. </a> 

    <script type="text/javascript"> 
     $('.fixedAjaxDOMWindow').openDOMWindow({ 
      loaderImagePath: '../../images/ajax-loader.gif', 
      height: 1200, 
      width: 870, 
      borderColor: '', 
      borderSize: '0', 
      overlayColor: '#000', 
      overlayOpacity: '23', 
      loader: 1, 
      loaderHeight: 16, 
      loaderWidth: 17, 
      modal: 1, 
      eventType: 'click', 
      windowSource: 'ajax', 
      windowHTTPType: 'get', 
      windowPadding: 0 

     });  
    </script> 

На «DOMexample.aspx», у меня есть некоторые флажки, если этот флажок установлен, будут отображаться в раскрывающемся списке рядом с ним.

<asp:CheckBox ID="chOptions" Text="Options" AutoPostBack="True" runat="server" /> 
<asp:DropDownList ID="ddOptions" runat="server" /> 

protected void Page_Load(object sender, EventArgs e) 
{ 
    CheckSessionTimeout(); 
    chOptions.CheckedChanged += new EventHandler(this.chOptions_CheckedChanged); 
    ddOptions.Items.Add("Select Option Level"); 
    ddOptions.Visible = false; 

} 

void chOptions_CheckedChanged(object sender, EventArgs e) 
{ 
    if (chOptions.Checked == true) 
     ddOptions.Visible = true; 
    else 
     ddOptions.Visible = false; 
} 

Моя проблема в том, когда я пытаюсь начать отладку, я могу потянуть мое окно DOM, но когда я проверяю эту коробку, похоже, браузер пытается загрузить «DOMexample.aspx» в весь браузер (в отличие от обновления элементов управления в окне DOM).

+0

В каком мире находится 'openDOMWindow'? – epascarello

+0

Похоже, вы добавляете сообщения об отставке! – epascarello

+0

@epascarello Я просто заметил, что я использую плагин jQuery: jquery.DOMwindow.js и используя код примера здесь: [link] (http://swip.codylindley.com/DOMWindowDemo.html) – cdpalmer

ответ

0

Мне пришлось подходить к моей проблеме через javascript, потому что если бы мне пришлось изменять элементы управления в * .aspx.cs, для этого потребовалось бы событие postBack, которое создало бы мою проблему (где DOMwindow-страница загружается в целом браузер).

Я создал функцию javascript 'toggleOptions', которая будет переключать видимость выпадающего списка.

<asp:CheckBox ID="chOptions" 
    onclick="toggleOptions();" 
    Text="Options" 
    runat="server" /> 

function toggleOptions() { 
    var chOpt = $get('<%=chOptions.ClientID %>'); 
    if (chOpt.checked) { 
     $get('<%=ddOptions.ClientID %>').style.visibility = 'visible'; 
    } else { 
     $get('<%=ddOptions.ClientID %>').style.visibility = 'hidden'; 
    } 
} 

А дальше, я хотел бы иметь падение вниз нагрузки невидимых, но по-прежнему быть оказан (она должна быть оказана для того, чтобы JavaScript, чтобы иметь доступ к нему). Так, в разделе «головы», я сделал вызов toggleOptions когда страница была успешно загружена с помощью .ready JQuery функция():

<script type="text/javascript"> 
    $(document).ready(function() { 
     toggleOptions(); 
    }); 
</script> 

С флажком (chOptions) первоначально визуализируется как непроверенный, toggleOptions замечает и скрывает ddOptions.

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