您的位置:首页 > 编程语言 > ASP

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

2009-02-17 10:58 806 查看
昨天发了个帖子,是关于验证控件做成气泡形式的,今天说的是一个时间控件----My97DatePicker.



效果如图,具体更多功能请见其官网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 控件中的文本长度。该脚本假定页面包含一个名为 spanCounter 的 span 元素。

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并没有提示有问题,是不是就是对的了呢?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: