我有两个页面(MasterPage.aspx和ChildPage.aspx)和rad元素。 在MasterPage.aspx上,我通过ajax(jQuery)调用ChildPage.aspx,并将响应(整个ChildPage.aspx页面)放在MasterPage.aspx中。我的问题是MasterPage.aspx元素工作,但在ChildPage上生成并放在MasterPage中的那些(元素)不起作用。 哪个是使用ajax将页面加载到另一个页面的最佳实践,两个页面都包含需要RadScriptManager和RadAjaxManager的rad元素?
MasterPage代码:
<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
CodeBehind="Default.aspx.cs" Inherits="TelerikTest._Default" %>
<%@ Register assembly="Telerik.Web.UI" namespace="Telerik.Web.UI" tagprefix="telerik" %>
<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
$.ajax({
url: 'TestPage.aspx',
type: "POST",
data: "{ }",
success: function (data) {
$("#content").html(data);
}
});
});
</script>
</asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<telerik:RadScriptManager ID="RadScriptManager1" runat="server">
</telerik:RadScriptManager>
<div>
<telerik:RadComboBox ID="RadComboBox1" Runat="server">
<Items>
<telerik:RadComboBoxItem runat="server" Text="RadComboBoxItem1"
Value="RadComboBoxItem1" />
<telerik:RadComboBoxItem runat="server" Text="RadComboBoxItem2"
Value="RadComboBoxItem2" />
<telerik:RadComboBoxItem runat="server" Text="RadComboBoxItem3"
Value="RadComboBoxItem3" />
</Items>
</telerik:RadComboBox>
</div>
<div id="content">
</div>
<telerik:RadAjaxManager runat="server">
<AjaxSettings>
<telerik:AjaxSetting AjaxControlID="RadComboBox1">
</telerik:AjaxSetting>
</AjaxSettings>
</telerik:RadAjaxManager>
</asp:Content>
ChildPage代码:
<form id="form2" runat="server"> <telerik:RadScriptManager ID="RadScriptManager2" runat="server"> </telerik:RadScriptManager> <div> <telerik:RadComboBox ID="RadComboBox2" Runat="server"> <Items> <telerik:RadComboBoxItem runat="server" Text="RadComboBoxItem1" Value="RadComboBoxItem1" /> <telerik:RadComboBoxItem runat="server" Text="RadComboBoxItem2" Value="RadComboBoxItem2" /> <telerik:RadComboBoxItem runat="server" Text="RadComboBoxItem3" Value="RadComboBoxItem3" /> </Items> </telerik:RadComboBox> </div> <telerik:RadAjaxManager runat="server"> <AjaxSettings> <telerik:AjaxSetting AjaxControlID="RadComboBox2"> </telerik:AjaxSetting> </AjaxSettings> </telerik:RadAjaxManager> </form>
问候!
答案 0 :(得分:0)
ASP.NET Web窗体支持开箱即用的主页 - 因此您可以指定母版页,例如, MasterPage.master并在asp:ContentPlaceHolder块中填充子内容。这可以根据需要与Telerik RadScriptManager代理控件等一起使用。网上有很多信息,例如http://www.asp.net/web-forms/tutorials/master-pages/creating-a-site-wide-layout-using-master-pages-cs
这可能无法解释您的具体问题,但如果没有看到该项目或您为何设置这种方式,我就无法发表评论。