昨天发了个帖子,是关于验证控件做成气泡形式的,今天说的是一个时间控件----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 控件添加客户端事件处理程序,即在页面的 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;");
}
下面的代码示例演示如何向 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并没有提示有问题,是不是就是对的了呢?