2011-05-02 77 views
2

我想将当前日期放在我的formview'dateadded'中,但是当我在浏览器中加载它时没有显示。我在后面使用代码,但是如何使用日期和时间显示它?在formview中设置当前日期

这是我的代码背后。

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 


namespace LibrarySystem.AdminPage 
{ 
    public partial class ManageBooks : System.Web.UI.Page 
    { 
     protected void Page_Load(object sender, EventArgs e) 
     { 
      if(FormView1.CurrentMode == FormViewMode.Insert) 
      { 
       TextBox dateadded = FormView1.FindControl("dateaddedTextBox") as TextBox; 
        dateadded.Text = DateTime.Now.ToString("d"); 
      } 
     } 
    } 
} 

这里是我完整的设计

<%@ Page Title="" Language="C#" MasterPageFile="~/Site1.Master" AutoEventWireup="true" CodeBehind="Lending.aspx.cs" Inherits="LibrarySystem.Test" %> 
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server"> 
    </asp:Content> 
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server"> 
    <h3> 
    Lending of Books</h3> 
<p> 
    <asp:FormView ID="FormView1" runat="server" DataSourceID="lendDataSource" DefaultMode="Insert" OnDataBound="FormView1_DataBound"> 
     <EditItemTemplate> 

      Book ID/ISBN: 
      <asp:TextBox ID="bookidTextBox" runat="server" Text='<%# Bind("bookid") %>' /> 
      <br /> 

      Book Title: 
      <asp:TextBox ID="booktitleTextBox" runat="server" 
       Text='<%# Bind("booktitle") %>' /> 
      <br /> 

      Employee ID: 
      <asp:TextBox ID="employeeidTextBox" runat="server" 
       Text='<%# Bind("employeeid") %>' /> 
      <br /> 

      Department: 
      <asp:TextBox ID="departmentTextBox" runat="server" 
       Text='<%# Bind("department") %>' /> 
      <br /> 

      Date borrowed: 
      <asp:TextBox ID="dateborrowedTextBox" runat="server" 
       Text='<%# Bind("dateborrowed") %>' /> 
      <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" /> 
     </EditItemTemplate> 

     <InsertItemTemplate> 

      Book: 
      <asp:DropDownList ID="DropDownList1" runat="server" 
       DataSourceID="booktitleDataSource" DataTextField="booktitle" 
       DataValueField="bookid" SelectedValue='<%# Bind("bookid", "{0}") %>'> 
      </asp:DropDownList> 

      <asp:SqlDataSource ID="booktitleDataSource" runat="server" 
       ConnectionString="<%$ ConnectionStrings:LibrarySystemConnectionString %>" 
       SelectCommand="SELECT [bookid], [booktitle] FROM [TblBooks]"> 
      </asp:SqlDataSource> 
      <br /> 

      Employee ID: 
      <asp:TextBox ID="employeeidTextBox" runat="server" 
       Text='<%# Bind("employeeid") %>' /> 
      <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="* Required" ControlToValidate="employeeidTextBox" ValidationGroup="lendbook"> 
      </asp:RequiredFieldValidator> 
      <br /> 

      Department: 
      <asp:TextBox ID="departmentTextBox" runat="server" 
       Text='<%# Bind("department") %>' /> 
      <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ErrorMessage="* Required" ControlToValidate="departmentTextBox" ValidationGroup="lendbook"> 
      </asp:RequiredFieldValidator> 
      <br /> 

      Date borrowed: 
      <asp:TextBox ID="dateborrowedTextBox" runat="server" 
       Text='<%# Bind("dateborrowed") %>' /> 
      <asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ErrorMessage="* Required" ControlToValidate="dateborrowedTextBox" ValidationGroup="lendbook"> 
      </asp:RequiredFieldValidator> 
      <br /> 

      <asp:LinkButton ID="InsertButton" runat="server" CausesValidation="True" ValidationGroup="lendbook" 
       CommandName="Insert" Text="Insert" /> 
       &nbsp;<asp:LinkButton ID="InsertCancelButton" runat="server" CausesValidation="False" 
       CommandName="Cancel" Text="Cancel" /> 
     </InsertItemTemplate> 

     <ItemTemplate> 
      <asp:LinkButton ID="NewButton" runat="server" CausesValidation="False" 
       CommandName="New" Text="New" /> 
     </ItemTemplate> 

     <EmptyDataTemplate> 
      <asp:LinkButton ID="NewButton" runat="server" CausesValidation="False" 
       CommandName="New" Text="New" /> 
     </EmptyDataTemplate> 
    </asp:FormView> 
</p> 
    <p> 
    <asp:SqlDataSource ID="lendDataSource" runat="server" 
     ConnectionString="<%$ ConnectionStrings:LibrarySystemConnectionString %>" 
     DeleteCommand="DELETE FROM [LendTable] WHERE [lenid] = @lenid" 
     InsertCommand="INSERT INTO [LendTable] ([bookid], [employeeid], [department], [dateborrowed], [datereturned]) VALUES (@bookid, @employeeid, @department, @dateborrowed, @datereturned)" 
     SelectCommand="SELECT dbo.LendTable.bookid, dbo.TblBooks.booktitle, dbo.LendTable.employeeid, dbo.LendTable.department, dbo.LendTable.dateborrowed FROM dbo.LendTable INNER JOIN dbo.TblBooks ON dbo.LendTable.bookid = dbo.TblBooks.bookid" 

     UpdateCommand="UPDATE [LendTable] SET [bookid] = @bookid, [employeeid] = @employeeid, [department] = @department, [dateborrowed] = @dateborrowed, [datereturned] = @datereturned WHERE [lenid] = @lenid"> 
     <DeleteParameters> 
      <asp:Parameter Name="lenid" Type="Int32" /> 
     </DeleteParameters> 
     <UpdateParameters> 
      <asp:Parameter Name="bookid" Type="Int64" /> 
      <asp:Parameter Name="employeeid" Type="string" /> 
      <asp:Parameter Name="department" Type="String" /> 
      <asp:Parameter Name="dateborrowed" Type="DateTime" /> 
      <asp:Parameter Name="datereturned" Type="DateTime" /> 
      <asp:Parameter Name="lenid" Type="Int32" /> 
     </UpdateParameters> 
     <InsertParameters> 
      <asp:Parameter Name="bookid" Type="Int64" /> 
      <asp:Parameter Name="employeeid" Type="string" /> 
      <asp:Parameter Name="department" Type="String" /> 
      <asp:Parameter Name="dateborrowed" Type="DateTime" /> 
      <asp:Parameter Name="datereturned" Type="DateTime" /> 
     </InsertParameters> 
    </asp:SqlDataSource> 
</p> 
<p> 
    <asp:GridView ID="GridView1" runat="server" AllowPaging="True" 
     AllowSorting="True" AutoGenerateColumns="False" CellPadding="4" 
     DataKeyNames="lenid" DataSourceID="lendgridviewDataSource" ForeColor="#333333" 
     GridLines="None"> 
     <RowStyle BackColor="#EFF3FB" /> 
     <Columns> 
      <asp:CommandField ShowDeleteButton="True" ShowEditButton="True" /> 
      <asp:BoundField DataField="bookid" HeaderText="Book ID/ISBN" 
       SortExpression="bookid" /> 
      <asp:BoundField DataField="booktitle" HeaderText="Book Title" 
       SortExpression="booktitle" /> 
      <asp:BoundField DataField="EmployeeID" HeaderText="Employee ID" 
       SortExpression="EmployeeID" /> 
      <asp:BoundField DataField="department" HeaderText="Department" 
       SortExpression="department" /> 
      <asp:BoundField DataField="dateborrowed" HeaderText="Date Borrowed" 
       SortExpression="dateborrowed" /> 
      <asp:BoundField DataField="datereturned" HeaderText="Date Returned" 
       NullDisplayText="-- not yet returned --" SortExpression="datereturned" /> 
     </Columns> 
     <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" /> 
     <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" /> 
     <SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" /> 
     <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" /> 
     <EditRowStyle BackColor="#2461BF" /> 
     <AlternatingRowStyle BackColor="White" /> 
    </asp:GridView> 
    <asp:SqlDataSource ID="lendgridviewDataSource" runat="server" 
     ConnectionString="<%$ ConnectionStrings:LibrarySystemConnectionString %>" 
     DeleteCommand="DELETE FROM [LendTable] WHERE [lenid] = @lenid" 
     InsertCommand="INSERT INTO [LendTable] ([bookid], [department], [EmployeeID], [dateborrowed], [datereturned]) VALUES (@bookid, @department, @EmployeeID, @dateborrowed, @datereturned)" 
     SelectCommand="SELECT dbo.LendTable.lenid, dbo.LendTable.bookid, dbo.LendTable.department, dbo.LendTable.EmployeeID, dbo.LendTable.dateborrowed, dbo.LendTable.datereturned, dbo.TblBooks.booktitle FROM dbo.LendTable INNER JOIN dbo.TblBooks ON dbo.LendTable.bookid = dbo.TblBooks.bookid" 
     UpdateCommand="UPDATE [LendTable] SET [bookid] = @bookid, [department] = @department, [EmployeeID] = @EmployeeID, [dateborrowed] = @dateborrowed, [datereturned] = @datereturned WHERE [lenid] = @lenid"> 
     <DeleteParameters> 
      <asp:Parameter Name="lenid" Type="Int32" /> 
     </DeleteParameters> 
     <UpdateParameters> 
      <asp:Parameter Name="bookid" Type="Int64" /> 
      <asp:Parameter Name="department" Type="String" /> 
      <asp:Parameter Name="EmployeeID" Type="String" /> 
      <asp:Parameter Name="dateborrowed" Type="DateTime" /> 
      <asp:Parameter Name="datereturned" Type="DateTime" /> 
      <asp:Parameter Name="lenid" Type="Int32" /> 
     </UpdateParameters> 
     <InsertParameters> 
      <asp:Parameter Name="bookid" Type="Int64" /> 
      <asp:Parameter Name="department" Type="String" /> 
      <asp:Parameter Name="EmployeeID" Type="String" /> 
      <asp:Parameter Name="dateborrowed" Type="DateTime" /> 
      <asp:Parameter Name="datereturned" Type="DateTime" /> 
     </InsertParameters> 
    </asp:SqlDataSource> 
</p> 
<p> 
    <asp:HyperLink ID="HyperLink4" runat="server" 
     NavigateUrl="~/Admin/Returning.aspx">Returning</asp:HyperLink> 
</p> 
     <asp:HyperLink ID="HyperLink5" runat="server" 
      NavigateUrl="~/Admin/AdminPage.aspx">Back to Admin Page</asp:HyperLink> 
    <p> 
     &nbsp;</p> 

    </asp:Content> 
+0

您是否将** DefaultMode **设置为Insert? – V4Vendetta 2011-05-02 07:04:01

+0

如何将它设置为DefaultMode中的插图? – Loupi 2011-05-02 07:53:35

+1

@ user703510你有属性** DefaultMode **在FormView标签中设置相同..不知道这是你想要的 – V4Vendetta 2011-05-02 08:27:43

回答

2

您必须使用Databound event为...

protected void FormView1_DataBound(object sender, EventArgs e) 
{ 
    if (FormView1.CurrentMode == FormViewMode.Insert) 
    { 
     TextBox dateadded = FormView1.FindControl("dateaddedTextBox") as TextBox; 
     dateadded.Text = DateTime.Now.ToString("d"); 
    } 
} 

编辑:你需要通过你的日期列中插入DetailsView的方法

protected void DetailsView1_ItemInserting(object sender, DetailsViewInsertEventArgs e) 
{ 
    e.Values["DateColumnName"] = ((TextBox)DetailsView1.FindControl("dateaddedTextBox")).Text; 
} 
+0

嗯,它仍然没有显示。我在插入模式时如何绑定?当用户单击formview中的插入按钮时,我想将当前日期作为默认值。也许我错过了一些东西,我会再看一遍。 – Loupi 2011-05-02 07:37:04

+0

我100%肯定,它会工作。 – 2011-05-02 07:48:09

+0

那么你是否能够解决问题或仍然面临任何问题? – 2011-05-04 05:13:11

1

而不是在Page_Load()方法中做这件事,试着在Page_PreRender()方法中做。

+0

谢谢我也会试试:) – Loupi 2011-05-05 01:26:13

相关问题