我有一个母版页和母版页中的内容页面我有文本框和下拉列表 下拉列表中的值可能会根据内容页面而有所不同
例如,对于一个内容页面,下拉列表可能包含
BRANCHNAME, 市, 地址
并且对于同一母版页下的其他内容页面,下拉列表可能包含
之类的值Contactnumber, 电子邮件ID, ........... ......... 等.....
所以请帮助我如何从我的内容页面绑定该下拉列表
感谢。
答案 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();
如果您需要在母版页上编辑文本框,您还可以从内容页面找到该控件并对其进行更改。