1

任务 - 开发用户控件,其中有 <%#Bind(“expression”)%>`

如何将参数发送到用户控件以及如何使用 Bind 和 Eval ?

4

1 回答 1

2

在这篇 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() 是您的代码隐藏页面中返回日期的公共或受保护方法。

您可以查看这篇文章以获得对数据绑定基础知识的良好描述。

于 2012-01-26T20:19:01.093 回答