2013-04-14 41 views
0

我创建一个asp.net自定义控件访问属性behinde

<%@ 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" /> 

回答

1

你需要的属性添加到您的代码背后,表示该文本框的文本财产

左右的时间内control.ascx.cs

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

那么这将工作

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

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

+0

谢谢你,但你忘记添加分号给吸气剂和二次固位剂 – danarj

+0

是的未经测试的代码 –

+0

谢谢你对我有用 – danarj