2015-01-09 21 views
0

我有一個FormView,其中一行是「UserDate」。我的Formview可以插入,編輯和刪除記錄,但UserDate字段應該作爲當前日期和時間檢索。
Default.aspx的(HTML標記)從FormView添加日期到Gridview

<asp:TextBox ID="UserDateTextBox" runat="server" Text='<%# DateTime.Now %>' />  

當我運行它,並選中它formsview 「插入」,日期自動填充。但是,當我添加記錄時,它不會在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) %>' /> 

它給出了一個錯誤。

我的文件:(.class文件)

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" /> 
+0

你的綁定代碼是什麼樣子..在後面的代碼..?聽起來像是一個綁定/你不會將數據重新綁定到datagrid視圖;請在插入/添加完成後出現。請顯示.cs相關代碼。如果您正在查看延遲綁定,請更改'<%#綁定(「PO_ID」)%>'以使用'EVAL'而不是 – MethodMan

+0

您是否希望FormView中的_same_ DateTime顯示在GridView上?或者你是否總希望顯示當前的日期時間? –

+0

是的,我想從FormView中顯示相同的DateTime在GridView上顯示。 –

回答

0

如果你想從GridView控件來顯示FormView控件有相同日期時間,則需要在某處保存該DateTime。如果您只是簡單地在GridView中使用DateTime.Now,它總是隻顯示當前日期時間,而不是從FormView輸入的時間。

我的建議是在數據庫表中添加/添加一列,就像創建或更新日期一樣。然後,當您從FormView插入/更新數據庫時,請在這些SQL調用中包含新的DateTime。然後就像綁定GridView中的其他列一樣綁定它。