如何在单个ascx页面中使用列表框和下拉列表,并将其访问为aspx页面

时间:2015-07-13 04:04:50

标签: c# asp.net listbox ascx dropdownbox

我想在单个ascx页面中使用多个控件,如下拉列表,列表框,单选按钮列表,而不是使用多个ascx页面,并希望在aspx页面中访问它。

2 个答案:

答案 0 :(得分:0)

假设您拥有一个带有这些控件的用户控件MyControl.ascx:

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="MyControl.ascx.cs" Inherits="WebApplication1.MyControl" %>
<asp:LinkButton ID="lbtn" runat="server">Link Button</asp:LinkButton>
<asp:RadioButton ID="rbtn" runat="server" Text="Radio Button" />
<asp:DropDownList ID="ddl" runat="server">
    <asp:ListItem Text="Dropdown"></asp:ListItem>
</asp:DropDownList>

现在MyControl.ascx.cs页面代码:为每个控件创建公共属性并设置它们

public DropDownList dropdown {get;组; }

public RadioButton radioButton { get; set; }

public LinkButton linkbutton { get; set; }

protected void Page_Load(object sender, EventArgs e)
{
    SetCtrlProperties();
}

private void SetCtrlProperties(){
    dropdown = ddl;
    radioButton = rbtn;
    linkbutton = lbtn;
}

现在,如果你将它放在名为default.aspx的页面上,并希望隐藏从.aspx页面点击的按钮上的所有控件,那么.aspx页面代码:

<body>
    <form id="form1" runat="server">
    <div>
    </div>
    <uc1:MyControl ID="MyControl1" runat="server" />
    <asp:Button ID="Button1" runat="server" Text="Hide" onclick="Button1_Click" />
    </form>
</body>

和Default.aspx.cs页面代码:

protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            MyControl1.dropdown.Visible = false;
            MyControl1.radioButton.Visible = false;
            MyControl1.linkbutton.Visible = false;
        }

答案 1 :(得分:0)

创建一个名为it的用户控件,并添加您想要显示的所有控件,这些控件在某些页面中很常见。

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="CustomControl.ascx.cs" Inherits="ControlsDemo.CustomControl" %>
<asp:LinkButton ID="lnkBtn" runat="server">Link Button</asp:LinkButton>
<asp:RadioButton ID="radioBtn" runat="server" Text="Radio Button" />
<asp:DropDownList ID="ddl" runat="server"></asp:DropDownList>

现在你必须在你的aspx页面中声明用户控件

 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ControlsDemo.aspx.cs" Inherits="ControlsDemo.ControlsDemo"%>

    <%@ Register Src="~/CustomControl.ascx" TagName="CControl" TagPrefix="ucCtrl" %>

现在你可以在那个aspx页面的任何地方使用它

<ucCtrl="CControl" runat="server" />