我有一个FormView,其中一行是“UserDate”。我的Formview可以插入,编辑和删除记录,但UserDate字段应该作为当前日期和时间检索。
default.aspx(HTML标记)
<asp:TextBox ID="UserDateTextBox" runat="server" Text='<%# DateTime.Now %>' />
当我运行它,并在formview上选择“插入”时,日期会自动填充。但是,当我添加记录时,它不会显示在gridview中,而每个其他列值都会显示 所有其他列都是这样的用户输入:
<asp:TextBox ID="PO_IDTextBox" runat="server" Text='<%# Bind("PO_ID") %>' />
gridview类似于我的sql数据库表po_table。
如何将日期实施到gridview /数据库表?
编辑:
我假设我在我的cs文件中执行此操作?
protected void FormView2_PageIndexChanging(object sender, FormViewPageEventArgs e)
{
}
到目前为止,我试过了:
<asp:TextBox ID="UserDateTextBox" runat="server" Text='<%# DateTime.Now %>' />
在formview中给出日期,但在添加时不会转移到gridview。 我试过了:
<asp:TextBox ID="UserDateTextBox" runat="server" Text='<%# Eval(DateTime.Now) %>' />
给出错误。
我的档案:(班级档案)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace PO_1_5_15
{
public partial class _Webform : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void FormView2_PageIndexChanging(object sender, FormViewPageEventArgs e)
{
}
HTML标记
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:Test_DatabaseConnectionString %>" SelectCommand="SELECT [PO_ID], [PO_Title], [Date_Received], [Date_Completed], [Username], [PO_Note], [UserDate] FROM [PO_Table]"></asp:SqlDataSource>
<asp:FormView ID="FormView1" runat="server" DataKeyNames="PO_AutoID" DataSourceID="SqlDataSource2" EnableModelValidation="True">
<EditItemTemplate>
PO_AutoID:
<asp:Label ID="PO_AutoIDLabel1" runat="server" Text='<%# Eval("PO_AutoID") %>' />
<br />
PO_ID:
<asp:TextBox ID="PO_IDTextBox" runat="server" Text='<%# Bind("PO_ID") %>' />
<br />
PO_Title:
<asp:TextBox ID="PO_TitleTextBox" runat="server" Text='<%# Bind("PO_Title") %>' />
<br />
Date_Received:
<asp:TextBox ID="Date_ReceivedTextBox" runat="server" Text='<%# Bind("Date_Received") %>' />
<br />
Date_Completed:
<asp:TextBox ID="Date_CompletedTextBox" runat="server" Text='<%# Bind("Date_Completed") %>' />
<br />
Username:
<asp:TextBox ID="UsernameTextBox" runat="server" Text='<%# Bind("Username") %>' />
<br />
UserDate:
<asp:TextBox ID="UserDateTextBox" runat="server" Text='<%# Eval(DateTime.Now) %>' />
<br />
PO_Note:
<asp:TextBox ID="PO_NoteTextBox" runat="server" Text='<%# Bind("PO_Note") %>' />
<br />
<asp:LinkButton ID="UpdateButton" runat="server" CausesValidation="True" CommandName="Update" Text="Update" />
<asp:LinkButton ID="UpdateCancelButton" runat="server" CausesValidation="False" CommandName="Cancel" Text="Cancel" />
答案 0 :(得分:0)
如果您希望将要从FormView中显示的相同 DateTime显示在GridView上,则需要将该DateTime保存在某处。如果您只是在GridView中使用DateTime.Now
,它将始终只显示当前的DateTime,而不是从FormView输入的时间。
我的建议是在数据库表中添加/添加一个列,就像创建或更新日期一样。然后,当您从FormView插入/更新数据库时,在这些SQL调用中包含新的DateTime。然后就像绑定GridView中的其他列一样绑定它。