0

子ユーザー コントロールを登録した親ユーザー コントロールがあります。マスター ページから継承した aspx ページの子ユーザー コントロールにあるコントロールにアクセスしたいと考えています。

以下は私のコードです:

//Parent UserControl
    public partial class WebUserControlParent : System.Web.UI.UserControl
    {
        public WebUserControlChild checkbox
        {
            get
            {
                return this.checkbox;
            }
        }
        public WebUserControlChild label
        {
            set
            {
                this.label = value;
            }
            get
            {
                return this.label;
            }
        }
        protected void Page_Load(object sender, EventArgs e)
        {

        }
    }
//Child User Control : 
     public partial class WebUserControlChild : System.Web.UI.UserControl
    {
        public bool Checked
        {
            set
            {
                this.checkboxchild.Checked = value;
            }
        }
        public string Text
        {
            set
            {
                this.labelchild.Text = "YooHoo!";
            }
        }
        protected void Page_Load(object sender, EventArgs e)
        {

        }
    }
//My Aspx Page:
     public partial class WebForm1 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            this.PageControl.checkbox.Checked = true;
            this.PageControl.label.Text = "YoooHooo!";
        }
    }
//My Parent usercontrol .ascx stuff
    <%@ Control Language="C#" AutoEventWireup="true" CodeBehind="WebUserControlParent.ascx.cs"
    Inherits="WebApplication2.WebUserControlParent" %>
<%@ Register Src="~/WebUserControlChild.ascx" TagName="Child" TagPrefix="cc" %>

//My Child Usercontrol Stuff
        <%@ Control Language="C#" AutoEventWireup="true" CodeBehind="WebUserControlChild.ascx.cs"
        Inherits="WebApplication2.WebUserControlChild" %>
    <asp:CheckBox ID="checkboxchild" runat="server" Checked="false" />
    <asp:Label ID="labelchild" runat="server"></asp:Label>

//My ASPX Page Stuff
    <%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true"
    CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication2.WebForm1" %>

    <%@ Register Src="~/WebUserControlParent.ascx" TagName="Control" TagPrefix="cc" %>
    <asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="server">
    </asp:Content>
    <asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
        <cc:Control ID="PageControl" runat="server" />
    </asp:Content>

私がこれを行うと、私のコードはスレッドがいくつかのコードで興奮していると言っています...誰かが私が間違っていることとこれに対する解決策を教えてくれますか..ありがとう

4

2 に答える 2

0

出力ウィンドウでメッセージを話していると思いますか? (つまり、コンパイラ エラーまたは実行時エラーではないのですか?)

その場合、それは正常な動作です。クライアントがページのリクエストを行うたびに、スレッドが開始され、ページがレンダリングされてクライアントに送り返されると、そのスレッドはこのメッセージを生成して終了します。心配する必要はありません。

参照: http://msdn.microsoft.com/en-us/library/bs4c1wda.aspx

于 2013-04-28T00:22:12.993 に答える