我在主页面上有一个下拉列表,并且我想在加载内容页面时在内容页面上传递选定的值。我的问题是,只有当我更改下拉列表中的值时,该值才会通过。因此,当页面加载时,我必须从下拉列表中重新选择以捕获下拉列表的值。如果我正在浏览内容页面,则选定的值不会在页面加载时传递。 我的母版页代码.NET:在page_load的内容页上传递主页面控制值
<asp:DropDownList ID="ddlcategories"
runat="server" DataSourceID="SqlDataSourcecategories" DataTextField="CategoryName"
DataValueField="CategoryID" AutoPostBack="True"
onselectedindexchanged="ddlcategories_SelectedIndexChanged"></asp:DropDownList>
母版页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);
}
在页面加载时,您在DDL中寻找什么值?为什么使用Session对象?您正在选定的索引更改中设置DDL中所选值的值,这就是它现在才显示的值。我不确定你为什么这样做。 –
你是否在页面标记中声明了主页的确切类型? – Alexander
你好,我正在宣布关于标记的mastr页面。我已经设置了选定的值,以便在用户浏览时保持选择。如果让你感到困惑,我可以评论它。会议并不重要。我正在呼叫主控,而不是会话。我找到了这个链接,但答案对我无用。 http://stackoverflow.com/questions/5933929/page-load-event-in-master-and-content-pages?rq=1 – focus