ASP.net GridView 中的日期选择器
ASP.net GridView 中的日期选择器
简介
这段代码简化了在 GridView 中添加日期时间选择器的实现,它使用了 ASP.net 内置控件,无需任何第三方工具,解决了在 GridView 内部编辑日期值的问题。
使用代码
在深入了解代码的工作原理之前,让我解释一下我在此处使用的技巧:在行编辑事件中获取特定单元格文本框的客户端 ID,并将其与 Javascript 注册,可以准确满足在 GridView 中设置日期时间选择器的需求。
protected void gridview1_rowediting(object sender, gridviewediteventargs e) { int f; f = e.neweditindex; f += 2; string clientid = "ctl00_contentplaceholder1_gridview1_ctl"; string startdate; if (f <= 9) { startdate = clientid + "0" + f.tostring() + "_txt_when"; } else { startdate = clientid + f.tostring() + "_txt_when"; } string targetdate; if (f <= 9) { targetdate = clientid + "0" + f.tostring() + "_txt_tdate"; } else { targetdate = clientid + f.tostring() + "_txt_tdate"; } string script; script = "<script language=" + (char)34 + "javascript" + (char)34 + " >"; script += "function getdate(result,ctrl)"; script += "{"; script += "if(ctrl == 'txt_when' )"; script += "{"; script += "document.getelementbyid(" + (char)34 + startdate + (char)34 + ").value = result;"; script += "document.getelementbyid(" + (char)34 + startdate + (char)34 + ").innertext = result;"; script += "document.getelementbyid(" + (char)34 + startdate + (char)34 + ").readonly = true;"; script += "}"; script += "else"; script += "{"; script += "document.getelementbyid(" + (char)34 + targetdate + (char)34 + ").value = result;"; script += "document.getelementbyid(" + (char)34 + targetdate + (char)34 + ").innertext = result;"; script += "document.getelementbyid(" + (char)34 + targetdate + (char)34 + ").readonly = true;"; script += "}"; script += "}"; script += "</script>"; l1.text = script; }
重点
本文的有趣之处在于使用动态加载控件客户端 ID 和字面量控件来注册 Javascript。
历史记录
在此处持续更新您所做的任何更改或改进。