用户控件(.ascx)与网页间(.aspx)如何传值的几种方法

1.aspx文件:
public void SetLabel(string str)
{
       this.Label1.Text = str; ;
}
ascx文件;
protected void Button1_Click(object sender, EventArgs e)
{
       System.Web.UI.Page p = this.Page;
       Type pageType = p.GetType();
       MethodInfo mi = pageType.GetMethod("SetLabel");
       mi.Invoke(p, new object[] { "你这个大猪猪!" });

}

2. 在自定义控件中定义这个控件的属性
public Control LabelText
{
   get{return this.Label1.Text;}
}

3用FindControl方法寻找
Label lbl = (Label)WebUserControl1.FindControl("Label1");

aspx 页面与ascx用户控件传值的问题

1.建立ascx控件

2.给ascx加上属性

3.将控件拖入aspx中

4.在aspx的代码中按控件ID访问属性

如: <uc3:left_Repassword ID="left_Repassword1" runat="server" />

left_Repassword1.HighLight = value;

也同样适用于master页面访问ascx

-----------------------------------------------------------------------

//****ascx用户控件中,定义一个要接收参数的属性
public partial class front_search : System.Web.UI.UserControl
{
    private int m_nFirstSortID; // 一级分类的ID,用于aspx传值进来
    public int FirstSortID
    {
        get { return m_nFirstSortID; }
        set { m_nFirstSortID = value; }
    }

    private int m_nSecondSortID; // 二级分类的ID
    public int SecondSortID
    {
        get { return m_nSecondSortID; }
        set { m_nSecondSortID = value; }
    }

}

// aspx页面,定义ascx的地方

<%@ Register TagPrefix="MySearch" TagName="Search" Src="~/front_search.ascx" %>

<td align="left">
<MySearch:Search runat="server" ID="Search1" />
</td>

// 进行传值

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            int nFirstSortID = RequestUtil.GetInt(Request, "first_sort_id", 0);
            int nSecondSortID = RequestUtil.GetInt(Request, "second_sort_id", 0);

            Search1.FirstSortID = nFirstSortID;
            Search1.SecondSortID = nSecondSortID;
        }
    }

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/liuliu20036/archive/2009/06/07/4250280.aspx

ASP.Net访问母版页(MasterPage)控件、属性、方法及母版页中调用内容页的方法

总结了一下ASP.Net访问母版页(master)控件、属性、方法及母版页中调用内容页(aspx)的方法,供大家参考:

首先,必须通过内容页中的MasterTye指令,对母版页实施强类型化,即在内容页代码头的设置中增加如下指令

<%@ MasterType VirtualPath="~/Master/MenuElement.master" %>

其中VirtualPath设置母版页URL地址。

1.     获取母版页控件引用。

示例代码

    /// <summary>

    /// 获取对母板页中一个TreeView控件的引用

    /// </summary>

    public TreeView ElementStructureTree

    {

        get

        {

            return tvElementStructure;

        }

        set

        {

            tvElementStructure = value;

        }

     }

如上代码所示,在母版页中定义一个公共属性ElementStructureTree,该属引用了母版页中tvElementStructure控件,然后在内容页中就可以通过公共属性Master(核心对象Page的一个属性)来引用母版页中tvElementStructure控件,如下:

                            TreeView tv = Master.ElementStructureTree;

2.     访问母版页属性。

母版页中的属性一般有三种:值类型、类类型、控件类型,上面的“获取母版页控件引用”实际上就是访问控件类型属性,其它两种类型的属性可以用同样的方法访问。

3.     调用母版页方法。

母版页中定义的公共方法可以通过Master直接调用。

4.     母版页中调用内容页的方法。

母版页中定义委托:

public delegate void ElementSelectedChangeHandler();

母版页中实例化委托(又是一个属性):

public ElementSelectedChangeHandler ElementSelectedChange { private get; set; }

在母版页中需要的地方调用委托:

if (ElementSelectedChange != null)

        {

            ElementSelectedChange();

        }

内容页中指定一个与委托签名匹配的方法:

Master.ElementSelectedChange = this.ElementSelectedChange;

5.      Master页的AutoEventWireup属性一定要设置为"true",才会自动触发Master页中控件的所有事件。


类别: .net控件  查看评论

转载于:https://www.cnblogs.com/chaobaojun/archive/2009/09/02/1734496.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值