[英]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.