从后台代码的asp.net自定义控件的访问属性
本文关键字:自定义控件 访问 属性 net asp 后台 代码 | 更新日期: 2023-09-27 18:09:17
创建一个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
属性,但自定义控件没有文本属性。
<uc1:control runat="server" id="control" />
您需要在后面的代码中添加一个属性,该属性表示文本框的text属性。
所以在control. asx .cs
public string Text
{
get { return TextBox1.Text; }
set { TextBox1.Text = value; }
}
那么这将工作
<uc1:control runat="server" id="control" Text="My Control" />
只是澄清-自定义控件不会自然地继承子控件的属性,例如,如果控件有两个文本框控件,您会期望发生什么?因此,对于您希望自定义控件公开的每个属性,您需要向后面的代码添加一个属性。您甚至可以添加与子控件的属性无关的属性,并将值保留在隐藏字段或控件状态甚至视图状态中。