我已经尝试解决这个问题了好几个小时,但距离解决这个问题还很遥远。
发生了什么事,我正在尝试填充下面的控件
<asp:TextBox ID = "TxtDateReceived" runat = "server"
CssClass = "TxtFont" Width = "300px" Height = "25px"
TextMode = "DateTimeLocal"> </asp:TextBox>
将值存储在数据表行的单元格中,如下所示(dt加载了提取sql数据的方法,而且我已经确定dt.Rows[0][7]
它不为空)>
TxtDateReceived.Text = dt.Rows[0][7].ToString();
dt.Rows[0][7]
中的数据为8/18/2018 13:38:00
PD,这是我尝试填充字段时得到的结果
答案 0 :(得分:1)
在其他地方找到了这个答案(以供将来参考)。
尽管日期/时间在文本框中显示为mm / dd / yyyy,但实际上必须将其格式化为yyyy-MM-dd
才能从后面的代码中进行填充。而且仅在Chrome中也是如此。至少对我来说。
不确定时间格式。对于我的应用程序,我只需要日期,并且如果我将其传递为MM/dd/yyyy
,Chrome将不会在代码后面填充值。
例如,在我的情况下:
tbDate.Text = DateTime.Now.ToString("yyyy-MM-dd");
那行得通。
答案 1 :(得分:0)
我被带走了 DataTable ,其中只有几行 Date格式的临时行,并且对我来说绝对不错。
C#测试代码
DataTable table = new DataTable();
table.Columns.Add("Date");
for(int i=18;i<21;i++)
{
table.Rows.Add("8/"+i+"/2018 13:38:00");
}
TxtDateReceived.Text = table.Rows[2][0].ToString();
Aspx设计
<asp:TextBox ID = "TxtDateReceived" runat = "server"
CssClass = "TxtFont" Width = "300px" Height = "25px"
TextMode = "DateTimeLocal"> </asp:TextBox>
此外,它可能无法从sql中获取数据,也可能存在其他冲突,但显示效果很好。
答案 2 :(得分:0)
当我不得不将gridview数据调用到文本框中时,我也做了同样的事情。但是我做的有些不同,对我来说效果很好。
EntityManager em = getEntityManager();
em.getTransaction().begin();
JpaProcessDAO pdao = new JpaProcessDAO(em);
Process oldProcess = pDao.findById(processid);
\\ SOME STUFF THAT I THINK DOES NOT MATTER...
for (Step step: oldProcess.getSteps()) {
step.setProcess(null);
em.persist(step); \\ <================EXCEPTION THROWN HERE
}
\\SOME MORE STUFF I THINK DOES NOT MATTER
em.merge(oldProcess);
em.getTransaction().commit();
}
catch (Exception e)
{
\\EXCEPTION CAUGHT HERE
}
我不确定这是否正是您要的内容。但是从您的问题来判断,这听起来与我前一阵子非常接近。