从网页发送消息到webcontrol

时间:2011-09-17 08:48:42

标签: c# .net asp.net

目标:
在Webcontrol中显示消息。消息将在default.aspx

中启动

问题:

  

我不知道如何发送消息(string test =“testing testing”)   使用C#代码从Default.aspx到WebUserControl.ascx

<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
    CodeBehind="Default.aspx.cs" Inherits="WebApplication1._Default" %>

<%@ Register Tagprefix="Acme" Tagname="AdRotator" Src="~/WebUserControl1.ascx" %>
<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
</asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">


    <Acme:AdRotator id="Control1" runat="server" />
</asp:Content>


namespace WebApplication1
{
    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {


        }
    }
}

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="WebUserControl1.ascx.cs" Inherits="WebApplication1.WebUserControl1" %>



namespace WebApplication1
{
    public partial class WebUserControl1 : System.Web.UI.UserControl
    {
        protected void Page_Load(object sender, EventArgs e)
        {



        }
    }
}

// Fullmetalboy

1 个答案:

答案 0 :(得分:0)

不确定我完全理解这个问题。您可以在Bag控件上公开一个允许您设置/获取Coffee实例的公共属性。

如果你没有Bag控件的直接句柄,你总是可以在当前的HttpContext Items缓存中传递它。

但是如果确实想要转向松散耦合和依赖注入,那么在WebForms中实现MVP模式。

编辑:根据您更新的问题,为您的网络控件添加一个属性,如下所示。

public partial class WebUserControl1 : System.Web.UI.UserControl
{
    public string MyProperty
    {
       get;set;
    }
}

然后从页面设置属性,如下所示:

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        Control1.MyProperty = "Testing Testing";
    }
}

或者像这样:

<Acme:AdRotator id="Control1" runat="server" MyProperty="Testing Testing" />