我创建了一个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" />
答案 0 :(得分: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个文本框控件,您会发生什么?因此,对于希望自定义控件公开的每个属性,您需要向后面的代码添加属性。您甚至可以添加与子控件的属性无关的属性,并将值保存在隐藏字段或控件状态甚至视图状态中。