2015-01-09 4 views
0

У меня есть FormView, где строка - «UserDate». My 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/database?

Редактировать:
Я предполагаю, что я делаю это здесь, в моем файле 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 Markup

<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 соответствующий код. если вы посмотрите на Late Bound, измените '<% # Bind (" PO_ID ")%> '' вместо 'EVAL' вместо – MethodMan

+0

Вы хотите, чтобы _same_ DateTime из FormView отображалось в GridView? Или вы всегда хотите отображать текущую дату DateTime? –

+0

Да, я хочу, чтобы тот же DateTime из FormView отображался в Gridview. –

ответ

0

Если вы хотите иметь же DateTime из FormView, который будет отображаться на GridView, вы будете нуждаться чтобы сохранить этот DateTime. Если бы вы просто использовали DateTime.Now в GridView, он всегда отображал текущую дату DateTime, а не время, введенное из FormView.

Моей рекомендацией было бы иметь/добавить столбец в вашей таблице базы данных, как дату создания или обновления. Затем, когда вы вставляете/обновляете свою базу данных из FormView, включайте новую DateTime в эти вызовы SQL. Затем просто привяжите его, как и для других столбцов в GridView.

Смежные вопросы