我有兩個帶有rad元素的頁面(MasterPage.aspx和ChildPage.aspx)。 在MasterPage.aspx上,我通過ajax(jQuery)調用ChildPage.aspx,並將響應(整個ChildPage.aspx頁面)放在MasterPage.aspx中。我的問題是,MasterPage.aspx元素工作,但在ChildPage上生成並放置在MasterPage中的那些(元素)不會。 將頁面加載到另一個頁面的最佳做法是哪個頁面包含需要RadScriptManager和RadAjaxManager的rad元素?帶有telerik元素的頁面頁面
母版代碼:
<%@ 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>
商祺!
我在我的問題中添加了兩頁後面的代碼。謝謝! – VladN 2011-12-22 08:12:06
非常好。我確定您必須以這種方式加載內容。仍然,你有沒有條件加載用戶控件?無論如何,我想你可以從刪除子表單中的表單標籤開始。 asp.net web表單不支持多個表單標籤,並且您的母版頁中會有一組
? – 2011-12-22 10:14:36實際上,內容以這種方式加載到事件上(而不是文檔就緒),但這只是一個示例,可幫助您瞭解我正在嘗試執行的操作並減少代碼大小。如果我從ChildPage中刪除了
,我得到'UpdatePanel'類型的'Control'ctl00SU'必須放在一個帶有runat = server'的表單標籤中 – VladN 2011-12-22 10:40:24