在page_load上的内容页面上传递母版页控制值

我在母版页上有一个下拉列表,我想在内容页面加载时在内容页面上传递选定的值。 我的问题是,只有当我在下拉列表中更改值时,该值才会通过。 因此,当页面加载时我必须从下拉列表中重新选择以捕获下拉列表的值。 如果我正在浏览内容页面,则所选值不会在页面加载时传递。 我的主页代码.net:

 

主页cs:

 protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { ddlcategories.DataBind(); ddlcategories.Items.Insert(0, "Uncategorized"); ddlcategories.Items[0].Value = "0"; ddlcategories.SelectedValue = Convert.ToString(Session["lblCategoryID"]); } } protected void ddlcategories_SelectedIndexChanged(object sender, EventArgs e) { Session["lblCategoryID"] = Convert.ToInt32(ddlcategories.SelectedValue); } 

内容页面cs:

 protected void Page_Load(object sender, EventArgs e) { Label10.Text = Convert.ToString(((DropDownList)Master.FindControl("ddlcategories")).SelectedValue); } 

试试这个解决方案

母版页:

  One Two  

主页CS:

 public string SelectedValue { get { return ddlcategories.SelectedValue; } set { ddlcategories.SelectedValue= value; } } protected void ddlcategories_SelectedIndexChanged(object sender, EventArgs e) { SelectedValue = ddlcategories.SelectedValue; } 

内容页面标记:

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

内容页面CS。

 protected void Page_PreRender(object sender, EventArgs e) { Label1.Text = Master.SelectedValue; } 

注意:值只是为了演示,您可以使用下拉列表中的实际数据源值。