簡體   English   中英

帶有jQuery的動態內容

[英]Dynamic content w/ jQuery

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

但是,它似乎沒有響應,我可能會錯過其中的一部分。 這是我的.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>

看一下加載方法。

這是頁面上的示例:

加載頁面片段.load()方法與$ .get()不同,它允許我們指定要插入的遠程文檔的一部分。 這可以通過使用url參數的特殊語法來實現。 如果字符串中包含一個或多個空格字符,則假定字符串中第一個空格之后的部分是確定要加載內容的jQuery選擇器。

我們可以修改上面的示例以僅使用獲取的文檔的一部分:

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

執行此方法時,它將檢索ajax / test.html的內容,但是jQuery會解析返回的文檔以查找具有容器ID的元素。 該元素及其內容將插入具有ID ID為result的元素中,而其余的檢索文檔將被丟棄。

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

編輯:剛注意到,在您的函數loadDynamic()中,您試圖像這樣獲取控件cbox_User的值:

$("#cbox_User").val()

但是,由於它是服務器端控件,因此您需要獲取如下值:

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

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

希望這可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM