【问题标题】:access property of asp.net custom control from code behinde从后面的代码访问 asp.net 自定义控件的属性
【发布时间】:2013-04-06 10:57:49
【问题描述】:

我创建了一个asp.net自定义控件

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="control.ascx.cs" Inherits="test.control.control" %>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>

我已将它放在一个 aspx 页面中,我想使用自定义控件的 Text 属性,但自定义控件没有 Text 属性。

<uc1:control runat="server" id="control" />

【问题讨论】:

    标签: c# asp.net asp.net-customcontrol


    【解决方案1】:

    您需要在代码后面添加一个属性,该属性表示文本框的 text 属性。

    所以在 control.ascx.cs

    public string Text
    {
        get { return TextBox1.Text; }
        set { TextBox1.Text = value; }
    }
    

    这样就可以了

    <uc1:control runat="server" id="control" Text="My Control" />
    

    澄清一下 - 自定义控件不会自然地继承子控件的属性,例如,如果控件有 2 个文本框控件,您会期望发生什么?因此,对于您希望自定义控件公开的每个属性,您需要在后面的代码中添加一个属性。您甚至可以添加与子控件的属性无关的属性,并将值保存在隐藏字段或控件状态甚至视图状态中。

    【讨论】:

    • 谢谢,但您忘记在 getter 和 setter satatements 中添加分号
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-05
    • 2011-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多