我在母板中放一DataList1并在其中放置一个linkbutton ,linkbutton绑定某表中的title字段,PostBackUrl传值到另外页中PostBackUrl='<%# "~/Shopmanage/ShopShow.aspx?fileid="+DataBinder.Eval(Container.DataItem,"fileid") %>'  ,也就是在另外引用母板页中如何得到我的fileid?

解决方案 »

  1.   

    首先,必须通过内容页中的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页中控件的所有事件。
      

  2.   

    (Label)Master.FindControl("labNotice");查询控件
    参考