传递的Page_Load内容页母版页控制值 [英] Pass master page control values on content page on page_load

查看:258
本文介绍了传递的Page_Load内容页母版页控制值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我母版页上dropdowlist,我想传递的内容页面时,内容页面加载所选值。我的问题是,当我在DropDownList的值更改值只传递。因此,当一个页面加载我从DropDownList中重新选择捕捉到下拉的价值。如果我在浏览网页的内容选定的值不通过在页面加载。
我的母版页code .NET:

 < ASP:DropDownList的ID =ddlcategories
        =服务器的DataSourceID =SqlDataSourcecategoriesDataTextField =类别名称
        DataValueField =类别ID的AutoPostBack =真
        onselectedindexchanged =ddlcategories_SelectedIndexChanged>< / ASP:DropDownList的>

母版页CS:

 保护无效的Page_Load(对象发件人,EventArgs的发送)
{
 如果(!的IsPostBack)
 {
      ddlcategories.DataBind();
      ddlcategories.Items.Insert(0,未归类);
      ddlcategories.Items [0]。价值=0;
      ddlcategories.SelectedValue = Convert.ToString(会话[lblCategoryID]);
  }
}
保护无效ddlcategories_SelectedIndexChanged(对象发件人,EventArgs的发送)
{
    会话[lblCategoryID] = Convert.ToInt32(ddlcategories.SelectedValue);
}

内容页CS:

 保护无效的Page_Load(对象发件人,EventArgs的发送)
{
    Label10.Text = Convert.ToString(((DropDownList的)Master.FindControl(ddlcategories))的SelectedValue);
}


解决方案

尝试这种解决方案:

母版页:

 < ASP:DropDownList的ID =ddlcategories=服务器的AutoPostBack =真OnSelectedIndexChanged =ddlcategories_SelectedIndexChanged>
    < ASP:ListItem的>的One< / ASP:ListItem的>
    < ASP:ListItem的>二< / ASP:ListItem的>
< / ASP:DropDownList的>

母版页CS:

 公共字符串的SelectedValue
{
    得到
    {
        返回ddlcategories.SelectedValue;
    }
    组
    {
        ddlcategories.SelectedValue =价值;
    }
}保护无效ddlcategories_SelectedIndexChanged(对象发件人,EventArgs的发送)
{
    的SelectedValue = ddlcategories.SelectedValue;
}

内容页标记:

 <%@ VirtualPath的MasterType =〜/ Site1.Master%GT;< ASP:标签ID =Label1的=服务器文本=标签>< / ASP:标签>

内容页CS。

 保护无效Page_ preRender(对象发件人,EventArgs的发送)
{
    Label1.Text = Master.SelectedValue;
}

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

I have a dropdowlist on master page and I want to pass the selected value on content pages when a content page loads. My problem is that the value passes only when I change value on the dropdownlist. So when a page load I have to reselect from dropdownlist to capture the value of the dropdown. If I am browsing the content pages the selected value doesnt pass on page load. My master page code .net:

<asp:DropDownList ID="ddlcategories" 
        runat="server" DataSourceID="SqlDataSourcecategories" DataTextField="CategoryName" 
        DataValueField="CategoryID" AutoPostBack="True" 
        onselectedindexchanged="ddlcategories_SelectedIndexChanged"></asp:DropDownList>

Master page 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);
}

Content page cs:

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

解决方案

Try this solution:

Master page:

<asp:DropDownList ID="ddlcategories" runat="server" AutoPostBack="True" OnSelectedIndexChanged="ddlcategories_SelectedIndexChanged">
    <asp:ListItem>One</asp:ListItem>
    <asp:ListItem>Two</asp:ListItem>
</asp:DropDownList>

Master page CS:

public string SelectedValue
{
    get
    {
        return ddlcategories.SelectedValue;
    }
    set
    {
        ddlcategories.SelectedValue= value;
    }
}

protected void ddlcategories_SelectedIndexChanged(object sender, EventArgs e)
{
    SelectedValue = ddlcategories.SelectedValue;
}

Content Page markup:

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

<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>

Content page CS.

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

Note: Values are just to demonstrate, you can use the actual data source values in drop down.

这篇关于传递的Page_Load内容页母版页控制值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆