任务 - 开发用户控件,其中有 <%#Bind(“expression”)%>`
如何将参数发送到用户控件以及如何使用 Bind 和 Eval ?
任务 - 开发用户控件,其中有 <%#Bind(“expression”)%>`
如何将参数发送到用户控件以及如何使用 Bind 和 Eval ?
在这篇 MSDN 文章中有一个关于创建用户控件和设置它们的属性的很好的教程。
基本上,您创建一个 ascx 页面及其代码隐藏。在代码隐藏中,您创建要公开的属性并使用 ViewState 存储它们的值。由于本文中讨论的原因,您的属性后备存储是视图状态很重要:
public partial class MyControl : System.Web.UI.UserControl
{
public DateTime BeginDate
{
get { return (DateTime)(ViewState["BeginDate"] ?? new DateTime()); }
set { ViewState["BeginDate"] = value; }
}
......
在您的 web.config 文件中注册此新用户控件后,您可以在托管页面中声明性地放置控件的实例并设置其属性:
<Custom:MyControl Id="Mycontrol" runat="server" BeginDate ="2012-01-26" />
如果要使用数据绑定来设置控件的值,只需将属性的值分配给数据绑定表达式:
<Custom:MyControl Id="Mycontrol" runat="server" BeginDate ='<%# GetBeginDate() %>' />
其中 GetBeginDate() 是您的代码隐藏页面中返回日期的公共或受保护方法。
您可以查看这篇文章以获得对数据绑定基础知识的良好描述。