2011-12-21 12 views
0

私は2つのページ(MasterPage.aspxとChildPage.aspx)をrad要素で使用しています。 MasterPage.aspxでは、ajax(jQuery)を使用してChildPage.aspxを呼び出し、MasterPage.aspx内にレスポンス(ChildPage.aspxページ全体)を配置します。私の問題は、MasterPage.aspx要素は動作しますが、ChildPageで生成され、MasterPageに配置された要素(要素)はそうではありません。 RadScanManagerとRadAjaxManagerが必要なrad要素を含む両方のページにajaxを持つ別のページにページを読み込むのがベストプラクティスですか?ページ内のページ要素内のページ

マスターページのコード:

<%@ 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

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

これはあなたの特定の問題については説明していないかもしれませんが、プロジェクトを見ていないか、このようにセットアップした理由は何もコメントできません。

+0

私は質問の2つのページの後ろにコードを追加しました。ありがとう! – VladN

+0

非常にいいです。私は、あなたがそのようにコンテンツをロードしている理由がなければならないと確信しています。それでも、条件付きでユーザーコントロールを読み込むことはできませんか?とにかく、私はあなたが子フォームからフォームタグを削除することから始めることができると思います。 asp.net Webフォームは複数のフォームタグをサポートしておらず、マスターページには

のセットがありますか? –

+0

実際、コンテンツはこのように(ドキュメントの準備ではなく)イベントにロードされますが、これは私がしようとしていることを理解し、コードサイズを減らすのに役立つ例です。私が

をChildPageから削除した場合、タイプ 'UpdatePanel'の 'Control 'ctl00SU'がフォームタグの中にrunat = server'を入れて置く必要があります – VladN

関連する問題