天天看點

以程式設計方式向 ASP.NET 控件添加用戶端事件處理程式--TextBox.Attributes.Add()

    昨天發了個文章,是關于驗證控件做成氣泡形式的,今天說的是一個時間控件----My97DatePicker.

以程式設計方式向 ASP.NET 控件添加用戶端事件處理程式--TextBox.Attributes.Add()

效果如圖,具體更多功能請見其官網My97DatePicker.

其中遇到一個問題,就是我在将控件産生的值賦給

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

VS會報如下問題:

以程式設計方式向 ASP.NET 控件添加用戶端事件處理程式--TextBox.Attributes.Add()

查了一下,有如下解決方法:以程式設計方式向 ASP.NET 控件添加用戶端事件處理程式,即在頁面的 Init 或 Load 事件中調用控件的 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 控件中的文本長度。該腳本假定頁面包含一個名為 spanCounter 的 span 元素。

protected void Page_Load(object sender, EventArgs e)

{

    String displayControlName = "spanCounter";

    TextBox1.Attributes.Add("onkeyup", displayControlName +

        ".innerText=this.value.length;");

}

向按鈕控件添加用戶端 Onclick 事件

在按鈕控件(Button、LinkButton 和 ImageButton 控件)中,将 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并沒有提示有問題,是不是就是對的了呢?

轉載于:https://www.cnblogs.com/zhangkun-w/archive/2009/02/17/1392268.html