日期:2014-05-19  浏览次数:20459 次

UserControl的问题 请大师们帮助
如何将UserControl中自定义的属性,
能够在属性工具栏中看到并且能够绑定数据。最重要的是绑定数据。
我使用的了以下定义也不行。
[
Browsable(true),
Bindable(true)
]
public   int   Interval
{
get{return   _interval;}
set{_interval   =   value;}
}
郁闷呀!难道非要做成WEB组建才能用吗!?

------解决方案--------------------
我试了一下, 可以的;

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

using System.ComponentModel;

public partial class WebUserControl : System.Web.UI.UserControl
{
int _interval;

[Browsable(true),Bindable(true)]
public int Interval
{
get { return _interval; }
set { _interval = value; }
}

protected void Page_Load(object sender, EventArgs e)
{

}
}

------解决方案--------------------
可以在属性设计器中设置属性, 前台代码:
<uc1:WebUserControl ID= "WebUserControl1 " runat= "server " Interval= "3 " />

可能是你加了属性, 刷新设计器.
------解决方案--------------------
那是C# 2。0里的
可以把一个类的代码写在多个不同的文件里。
------解决方案--------------------
楼证这问题还真没碰到过。
自定义服务器组件倒是弄过。

友情帮顶
------解决方案--------------------

例:
using System;
using System.Text.RegularExpressions;
namespace CustomTextBox
{
/// <summary>
/// RexBox 的摘要说明。
/// </summary>
public class RexBox : System.Web.UI.WebControls.TextBox
{
private string regularExpression;
public RexBox()
{//
// TODO: 在此处添加构造函数逻辑
//
}

public bool IsMatch
{
get
{
System.Text.RegularExpressions.Regex reg=new System.Text.RegularExpressions.Regex(regularExpression);
return reg.IsMatch(this.Text);
}
}
public string RegularExpression
{
get
{
return regularExpression;
}
set
{
regularExpression=value;
}
}

}
}


将其编绎成dll
再添入工具箱

------解决方案--------------------
用户控件不行,不会出现属性窗口,只能使用自定义控件。没得商量