当前位置:编程学习 > C#/ASP.NET >>

C# 中如何实现单击文本框后在文本框中显示为当前系统的日期和时间

Web form的哦 --------------------编程问答-------------------- 晕,WinForm我懂。
asp.net呀,我一定要开始学了。 --------------------编程问答-------------------- web的文本框没有单击事件。。
两种解决方案。
1.用 <input type="text" value="" onfocus="某些操作"/> 
2.和第一种相似,使用 TextBox 控件,在后台给它绑单击操作。(其实应该是获得焦点,文本框没有单击事件) --------------------编程问答-------------------- 我只想用web的文本框  有没有具体的后台绑定单击事件的具体写法  要实现功能哦 --------------------编程问答-------------------- 提供给你吧。。。刚写的。

在页面先放一个TextBox。。名字你随便。我起的是TextBoxxx
<asp:TextBox ID="TextBoxxx" runat="server"  ></asp:TextBox>

下面是JS代码

     <script type="text/javascript">
         function textonclick() {
             var t = document.getElementById("TextBoxxx");
             var today = new Date();
             t.value = today.toLocaleString();
             
         }
     </script>


后台添加以下代码,要放到页面初始化里,比如Page_Load()

TextBox tb = (TextBox)FindControl("TextBoxxx");
tb.Attributes.Add("onclick", "textonclick()");






--------------------编程问答-------------------- 呵呵 太好了 小女子不胜感激 --------------------编程问答-------------------- 可以在扩展下吗?就是把today.toLocaleString();换成一个后台方法,而这个方法有个返回值不知道可不可以呢 --------------------编程问答--------------------
不行。。。today.toLocaleString()是写在前台JS里的。。 --------------------编程问答-------------------- CS:  
     public string pagedata()
        {

                      return  DateTime.Now.ToShortDateString().ToString();
         }
Html:

   <script type="text/javascript">
         function textonclick() {
             var t = document.getElementById("TextBoxxx");
             t.value ="<%= pagedata()%>";
         }
     </script>

这个可以用 --------------------编程问答--------------------
引用 8 楼 icefile 的回复:
CS:  
  public string pagedata()
  {

  return DateTime.Now.ToShortDateString().ToString();
这个可以用

你这样是没有刷新的日期,用下面的:


  protected void Page_Load(object sender, EventArgs e)
    {
        this.TextBox1.Attributes.Add("onclick", "textonclick()");
    }

    protected void Button1_Click(object sender, EventArgs e)
    {
        this.TextBox1.Text = DateTime.Now.ToString();
    }



<head runat="server">
    <title>无标题页</title>
    <script type="text/javascript">
         function textonclick() {
             var t = document.getElementById("Button1");
             t.click();    
         }
     </script>

</head>
<body>
    <form id="form1" runat="server">
    <asp:TextBox ID="TextBox1" runat="server" ></asp:TextBox>
    <asp:Button ID="Button1" style="display:none" runat="server" Text="Button"  OnClick="Button1_Click" />
    </form>
</body>
--------------------编程问答--------------------
莫非。。。LZ想要在文本框里实时刷新时间?
JS也是可以实现的。。

干嘛非用后台方法呢? --------------------编程问答--------------------
引用 10 楼 luckyp 的回复:
莫非。。。LZ想要在文本框里实时刷新时间?
JS也是可以实现的。。

干嘛非用后台方法呢?

楼主想获得是服务器时间 --------------------编程问答-------------------- 不是。。。当前系统的日期和时间 么。。
看标题,表达问题?额。。
慢慢整。。我睡会了 --------------------编程问答-------------------- 9楼可行 --------------------编程问答-------------------- 日期函数,看看就懂了! --------------------编程问答-------------------- using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace text_time
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

       

        private void textBox1_Click(object sender, EventArgs e)
        {
            textBox1.Text = DateTime.Now.ToString();
        }
    }
}
点击文本框显示:

2010-6-9 12:31:32

在文本框的click时间中显示不就行了。。 --------------------编程问答-------------------- 为什么要点击后才显示啊?可以直接页面载入时,在Page_load中设置文本框内容,
eg: TextBoxTime.Text = DateTime.Now.ToString();
--------------------编程问答-------------------- 大家看清楚点是web form textbox是没有click事件的
还有我现在只是用这个单的列子来考证些东西没别的意思
问题来了:
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>


DataTable dt = DBHelper.GetDataSet("select * from Classtable where ClassName='"+TextBox2。text+"'");
dt.Rows[0]["ClassID"].ToString();//得到ClassName是TextBox2。text的ID

现在我想把这个ID让它自动显示到TextBox2

自动哦 或者是单击TextBox2

来个高手说下,具体点。。。。


--------------------编程问答--------------------
引用 17 楼 icefile 的回复:
大家看清楚点是web form textbox是没有click事件的
还有我现在只是用这个单的列子来考证些东西没别的意思
问题来了:
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>


DataTable ……

DataTable dt = DBHelper.GetDataSet("select * from Classtable where ClassName='"+TextBox1.text+"'");
--------------------编程问答-------------------- 直接给textbox2赋值不可吗? --------------------编程问答--------------------
不知道你想干什么。。。 --------------------编程问答-------------------- 学习。。。。 --------------------编程问答--------------------

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
</HEAD>
<SCRIPT LANGUAGE="JavaScript">
<!--
     function time() {
//日期
     var now = new Date();
 var hour = now.getHours();//小时
 var minutes = now.getMinutes();//分
 var seconds = now.getSeconds();//秒

 var year = now.getYear();//年
 var month = now.getMonth()+1;//月
 var date = now.getDate();//日
 var weekday = 0;
 //判断星期几
 switch (now.getDay()) {
    case 0:
     weekday="星期日"
     break;
case 1:
     weekday="星期一"
     break;
case 2:
     weekday="星期二"
     break;
case 3:
     weekday="星期三"
     break;
case 4:
     weekday="星期四"
     break;
case 5:
     weekday="星期五"
     break;
case 6:
     weekday="星期六"
     break;
 }
//连接
          var day ="今天是"+year+"年"+month+"月"+date+"日"+weekday + hour+ ":" + minutes + ":" + seconds; 
 if(hour > 12) {
    day += "PM";
 } else {
   day += "AM";
 }
 document.getElementById("times").value=day;
 setTimeout("time()",1000);
 }
 setTimeout("time()",1000);
//-->
</SCRIPT>
<BODY onLoad="time()">
现在时间:
<input type ="text" id="times" size="101">
</BODY>
</HTML>

--------------------编程问答-------------------- 获取当前系统时间 --------------------编程问答-------------------- 后台和Js都可以放实现功能的方法。
只要在onclick事件里触发。具体是用后台实现还是用js就看自己需要。 --------------------编程问答-------------------- 大大大大大大大大大大大大大大大大大大大的v
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,