使用asp.net访问从母版页到内容页面的下拉控件

时间:2011-11-15 16:00:17

标签: c# asp.net

我有一个母版页和母版页中的内容页面我有文本框和下拉列表 下拉列表中的值可能会根据内容页面而有所不同

例如,对于一个内容页面,下拉列表可能包含

BRANCHNAME,    市,    地址

并且对于同一母版页下的其他内容页面,下拉列表可能包含

之类的值

Contactnumber,     电子邮件ID, ........... .........   等.....

所以请帮助我如何从我的内容页面绑定该下拉列表

感谢。

5 个答案:

答案 0 :(得分:6)

请按以下步骤操作:

我在母版页中创建了一个属性,并在内容页面上将其命名为:

public DropDownList SearchList
{
    get { return ddlFilterText; }
}

并在内容页面上:

// place here the datasource through which the  dropdown is biding

Master.SearchList.DataSource = null;

Master.SearchList.DataBind();

答案 1 :(得分:0)

您可以从内容页面中查找下拉控件,如下所示:

var yourdropdown = Page.Master.FindControl(“下拉列表的ID”)为DropDownList;

但请注意,母版页的加载事件由页面的加载事件继承,因此您不要对其进行双重绑定。

答案 2 :(得分:0)

如果下拉列表中的值由各个内容页面决定,那么我的建议是将它们存储在缓存,会话或某些状态持久性机制中。

答案 3 :(得分:0)

实现此目标的最简洁方法是在每个内容页面中添加MasterType指令。

<%@ MasterType virtualpath="~/Masters/Master1.master" %>

然后从内容页面的代码隐藏中,您可以像这样引用母版页控件:

DropDownList myDropDownList = Master.TheDropDownList;

Andreas是正确的,你需要知道ASP.NET Event Life Cycle,所以你实际上在正确的时间绑定了下拉列表。

答案 4 :(得分:0)

这很简单。您可以从内容页面“找到”控件。

这是我绑定到DropDown控件的示例。

站长:

<asp:DropDownList runat="server" ID="ddlMaster" DataTextField="Name" DataValueField="Id" />

内容页面:

var ddlMaster = (DropDownList)Master.FindControl("ddlMaster");

ddlMaster.DataSource = dt;
ddlMaster.DataBind();

如果您需要在母版页上编辑文本框,您还可以从内容页面找到该控件并对其进行更改。