将日期从FormView添加到Gridview

时间:2015-01-09 16:39:29

标签: c# sql asp.net

我有一个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" />
            &nbsp;<asp:LinkButton ID="UpdateCancelButton" runat="server" CausesValidation="False" CommandName="Cancel" Text="Cancel" />

1 个答案:

答案 0 :(得分:0)

如果您希望将要从FormView中显示的相同 DateTime显示在GridView上,则需要将该DateTime保存在某处。如果您只是在GridView中使用DateTime.Now,它将始终只显示当前的DateTime,而不是从FormView输入的时间。

我的建议是在数据库表中添加/添加一个列,就像创建或更新日期一样。然后,当您从FormView插入/更新数据库时,在这些SQL调用中包含新的DateTime。然后就像绑定GridView中的其他列一样绑定它。