2011-02-17 160 views
0

我剛剛開始學習jQuery,並希望將內容從單獨的.aspx頁面動態加載到div中。從這裏使用示例:http://www.asp.net/ajaxLibrary/jquery_webforms_dynamic_load.ashx?HL=var動態內容w/jQuery

然而,它似乎並沒有迴應,我可能錯過了這一點。下面是代碼/腳本在我的.aspx頁面中:

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server"> 
<script src="Scripts/jquery-1.5.js" type="text/javascript"></script>  
<script type="text/javascript"> 

$(document).ready(function() { 
    // External ASPX Page calling 
    $("#btn_Submit").click(loadDynamic); 
}); 

function loadDynamic() { 

    $("#dynamicResults").load("ResultsView.aspx", 
     {name: $("#cbox_User").val() }, 
     function (content) { 
      $(this).hide().fadeIn("slow"); 
       return false; 
     }); 
} 

<Header> 
QUERY VIEW 
</Header> 

<Content> 
    <div style="float:right; height:154px; width: 947px; margin-left: 0px; background-color: #E0E0E0;"> 
     <br /> 
     <asp:Label ID="Label2" runat="server" Text="Select a User:" 
        Style="margin-left:28px" ></asp:Label> 

        <asp:ComboBox ID="cbox_User" runat="server" AutoCompleteMode="SuggestAppend"> 
        </asp:ComboBox> 

       <asp:Label ID="Label3" runat="server" Text="Select a Month:" 
           Style="margin-left:28px" ></asp:Label> 
      <asp:TextBox ID="txt_Date" runat="server"></asp:TextBox> 
       <asp:CalendarExtender ID="CalendarExtender1" runat="server" 
          TargetControlID="txt_Date" 
          Format="MMMM yyyy" 
          OnClientShown="onCalendarShown" 
          OnClientHidden="onCalendarHidden" 
          BehaviorID="calendar1" > 
       </asp:CalendarExtender> 
       <asp:Button ID="btn_Submit" runat="server" Text="Submit" Style="margin-left:28px" onclick="Btn_Submit_Click" /> 
</div> 
</Content> 


<Header> 
RESULTS VIEW 
</Header> 

<Content> 
    <div id="dynamicResults"> 
    </div> 
    <div style="border-style: none; height:340px; width: 770px; position:relative; top: 10px; left: -2px;"> 
    <asp:GridView ID="ResultsView" runat="server" CellPadding="3" 
     ForeColor="Black" GridLines="None" AllowPaging="False" 
     Visible="False" 
     Height="318px" style="margin-left: 32px; margin-top: 2px;" Width="718px" 
     BackColor="White" BorderColor="#999999" BorderStyle="Solid" 
     BorderWidth="1px"> 
     </asp:GridView> 
    </div> 
</Content> 

而在第二個的.aspx頁面,其中包含我一個div我只想動態負載:

<html xmlns="http://www.w3.org/1999/xhtml"> 
    <div style="background-color:#E0E0E0; border-style: ridge none none none; border-  width: thin; border-color: #B3B3B3; height:120px; width: 770px; position:relative;  top: 10px; left: 8px;"> 
      <asp:Label ID="lbl_Header" runat="server" Text="User Information:"></asp:Label> 
    </div> 
</html> 
+1

您能否接受其他一些問題的答案?謝謝! – SquidScareMe 2011-02-17 19:16:24

+0

那是綠色的複選標記嗎? – Sean 2011-02-17 19:20:46

回答

1

看看load方法。

這裏是從頁面的一個示例:

加載頁面片段的.load() 方法,不像$獲得(),允許我們 指定遠程 文檔的一部分是插入。這是使用 url參數的特殊語法實現的 。如果字符串中包含一個或多個空格 字符,則 字符串的部分跟在 後面,則假定第一個空格爲 jQuery選擇器,用於確定要加載的 內容。

我們可以修改上面的例子 僅使用文檔的一部分是 牽強:

$('#result').load('ajax/test.html #container'); 

當這種方法執行,它 檢索的 AJAX/test.html中的內容,但隨後jQuery解析返回的文檔 以查找容器ID爲 的元素。這個 元素及其內容是 插入元素的ID爲 的結果,並且 的其餘部分將被丟棄。

jQuery使用瀏覽器的.innerHTML 屬性來解析檢索 文檔,並將其插入到 當前文檔。在此過程中, 瀏覽器通常會過濾來自 的文檔,如 或元素。因此,由.load()檢索的 元素可能不是 與由 瀏覽器直接檢索到文檔 完全相同。

編輯:剛纔注意到您的功能loadDynamic()你正在試圖獲得控制cbox_User像這樣的值:

$("#cbox_User").val() 

但是,因爲它是一個服務器端控件,你需要得到這樣的值:

$("#<%=cbox_User.ClientID%.").val() 

這是因爲.NET爲ASP.NET控件提供了不同於您指定的ID。

希望這會有所幫助。