以编程方式向 ASP.NET 控件添加客户端事件处理程序--TextBox.Attributes.Add()

    昨天发了个帖子,是关于验证控件做成气泡形式的,今天说的是一个时间控件----My97DatePicker.

    以编程方式向 ASP.NET 控件添加客户端事件处理程序--TextBox.Attributes.Add()_第1张图片

效果如图,具体更多功能请见其官网My97DatePicker.

其中遇到一个问题,就是我在将控件产生的值赋给

                    <asp:TextBox ID="txtDate" CssClass="Wdate" runat="server" Width="151px" onfocus="WdatePicker({maxDate:'%y-%M-#{%d-1}',startDate:'%y-%M-01',dateFmt:'yyyy-MM-dd',alwaysUseStartDate:true})"  ></asp:TextBox>

VS会报如下问题:

查了一下,有如下解决方法:以编程方式向 ASP.NET 控件添加客户端事件处理程序,即在页面的 InitLoad 事件中调用控件的 Attributes 集合的 Add 方法。

            txtDate.Attributes.Add("onfocus", "WdatePicker({maxDate:'%y-%M-#{%d-1}',startDate:'%y-%M-01',dateFmt:'yyyy-MM-dd',alwaysUseStartDate:true})");

但是看到的更多的是添加一个事件,如MSDN上给的:

 

下面的代码示例演示如何向 TextBox 控件添加客户端脚本。该客户端脚本显示 TextBox 控件中的文本长度。该脚本假定页面包含一个名为 spanCounterspan 元素。

 

protected void Page_Load(object sender, EventArgs e)
{
    String displayControlName = "spanCounter";
    TextBox1.Attributes.Add("onkeyup", displayControlName +
        ".innerText=this.value.length;");
}

 

向按钮控件添加客户端 Onclick 事件

在按钮控件(ButtonLinkButtonImageButton 控件)中,将 OnClientClick 属性设置为要执行的客户端脚本。

  • 下面的代码示例演示如何向 Button 控件添加客户端脚本 Click 事件。

<%@ Page Language="C#" %>
<script runat="server">
    protected void Button1_Click(Object sender, EventArgs e)
    {
        Label1.Text = "Server click handler called.";
    }
</script>

<html  >
<body>
  <form id="form1" runat="server">
    <asp:Button ID="Button1" Runat="server"
      OnClick="Button1_Click"
        OnClientClick="return confirm('Ready to submit.')"
        Text="Test Client Click" />
    <br />
    <asp:Label ID="Label1" Runat="server" text="" />
  </form>
</body>
</html>

很少看到有添加属性的.

不知道是为什么,也想知道,我上面的方法VS并没有提示有问题,是不是就是对的了呢?

你可能感兴趣的:(attribute)