前提・実現したいこと
こちらのページを開いた際にTimeTextBoxに現在時刻を表示させておき、そのまま挿入したいのですが、どのようにすればいいのか分かりません。
該当のソースコード
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Bord.aspx.cs" Inherits="Bord.Bord" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title> </head> <body> <form id="form1" runat="server"> <div> <asp:ListView ID="List1" runat="server" DataKeyNames="Time" DataSourceID="DB1" InsertItemPosition="LastItem" OnSelectedIndexChanged="List1_SelectedIndexChanged"> <AlternatingItemTemplate> <tr style=""> <td> <asp:Button ID="DeleteButton" runat="server" CommandName="Delete" Text="削除" /> <asp:Button ID="EditButton" runat="server" CommandName="Edit" Text="編集" /> </td> <td> <asp:Label ID="UserNameLabel" runat="server" Text='<%# Eval("UserName") %>' /> </td> <td> <asp:Label ID="TitleLabel" runat="server" Text='<%# Eval("Title") %>' /> </td> <td> <asp:Label ID="TextLabel" runat="server" Text='<%# Eval("Text") %>' /> </td> <td> <asp:Label ID="TimeLabel" runat="server" Text='<%# Eval("Time") %>' /> </td> </tr> </AlternatingItemTemplate> <EditItemTemplate> <tr style=""> <td> <asp:Button ID="UpdateButton" runat="server" CommandName="Update" Text="更新" /> <asp:Button ID="CancelButton" runat="server" CommandName="Cancel" Text="キャンセル" /> </td> <td> <asp:TextBox ID="UserNameTextBox" runat="server" Text='<%# Bind("UserName") %>' /> </td> <td> <asp:TextBox ID="TitleTextBox" runat="server" Text='<%# Bind("Title") %>' /> </td> <td> <asp:TextBox ID="TextTextBox" runat="server" Text='<%# Bind("Text") %>' /> </td> <td> <asp:Label ID="TimeLabel1" runat="server" Text='<%# Eval("Time") %>' /> </td> </tr> </EditItemTemplate> <EmptyDataTemplate> <table runat="server" style=""> <tr> <td>データは返されませんでした。</td> </tr> </table> </EmptyDataTemplate> <InsertItemTemplate> <tr style=""> <td> <asp:Button ID="InsertButton" runat="server" CommandName="Insert" Text="挿入" /> <asp:Button ID="CancelButton" runat="server" CommandName="Cancel" Text="クリア" /> </td> <td> <asp:TextBox ID="UserNameTextBox" runat="server" Text='<%# Bind("UserName") %>' /> </td> <td> <asp:TextBox ID="TitleTextBox" runat="server" Text='<%# Bind("Title") %>' /> </td> <td> <asp:TextBox ID="TextTextBox" runat="server" Text='<%# Bind("Text") %>' /> </td> <td> <asp:TextBox ID="TimeTextBox" runat="server" Text='<%# Bind("Time") %>' /> </td> </tr> </InsertItemTemplate> <ItemTemplate> <tr style=""> <td> <asp:Button ID="DeleteButton" runat="server" CommandName="Delete" Text="削除" /> <asp:Button ID="EditButton" runat="server" CommandName="Edit" Text="編集" /> </td> <td> <asp:Label ID="UserNameLabel" runat="server" Text='<%# Eval("UserName") %>' /> </td> <td> <asp:Label ID="TitleLabel" runat="server" Text='<%# Eval("Title") %>' /> </td> <td> <asp:Label ID="TextLabel" runat="server" Text='<%# Eval("Text") %>' /> </td> <td> <asp:Label ID="TimeLabel" runat="server" Text='<%# Eval("Time") %>' /> </td> </tr> </ItemTemplate> <LayoutTemplate> <table runat="server"> <tr runat="server"> <td runat="server"> <table id="itemPlaceholderContainer" runat="server" border="0" style=""> <tr runat="server" style=""> <th runat="server"></th> <th runat="server">UserName</th> <th runat="server">Title</th> <th runat="server">Text</th> <th runat="server">Time</th> </tr> <tr id="itemPlaceholder" runat="server"> </tr> </table> </td> </tr> <tr runat="server"> <td runat="server" style=""> </td> </tr> </table> </LayoutTemplate> <SelectedItemTemplate> <tr style=""> <td> <asp:Button ID="DeleteButton" runat="server" CommandName="Delete" Text="削除" /> <asp:Button ID="EditButton" runat="server" CommandName="Edit" Text="編集" /> </td> <td> <asp:Label ID="UserNameLabel" runat="server" Text='<%# Eval("UserName") %>' /> </td> <td> <asp:Label ID="TitleLabel" runat="server" Text='<%# Eval("Title") %>' /> </td> <td> <asp:Label ID="TextLabel" runat="server" Text='<%# Eval("Text") %>' /> </td> <td> <asp:Label ID="TimeLabel" runat="server" Text='<%# Eval("Time") %>' /> </td> </tr> </SelectedItemTemplate> </asp:ListView> <asp:SqlDataSource ID="DB1" runat="server" ConnectionString='<%$ ConnectionStrings:DefaultConnection %>' SelectCommand="SELECT * FROM [BordDB]" DeleteCommand="DELETE FROM [BordDB] WHERE [Time] = @Time" InsertCommand="INSERT INTO [BordDB] ([UserName], [Title], [Text], [Time]) VALUES (@UserName, @Title, @Text, @Time)" UpdateCommand="UPDATE [BordDB] SET [UserName] = @UserName, [Title] = @Title, [Text] = @Text WHERE [Time] = @Time"> <DeleteParameters> <asp:Parameter Name="Time" Type="String" /> </DeleteParameters> <InsertParameters> <asp:Parameter Name="UserName" Type="String" /> <asp:Parameter Name="Title" Type="String" /> <asp:Parameter Name="Text" Type="String" /> <asp:Parameter Name="Time" Type="String" /> </InsertParameters> <UpdateParameters> <asp:Parameter Name="UserName" Type="String" /> <asp:Parameter Name="Title" Type="String" /> <asp:Parameter Name="Text" Type="String" /> <asp:Parameter Name="Time" Type="String" /> </UpdateParameters> </asp:SqlDataSource> </div> </form> </body> </html>
試したこと
InsertItemTemplateのTimeTextBoxの箇所をこのように変更
<asp:TextBox ID="TimeTextBox" runat="server" Text='<%# DateTime.Now.ToString() %>' />
してみましたが、挿入時にNULLになるようでエラー画面が表示されます。
補足情報(FW/ツールのバージョンなど)
webフォーム
.NET Framework 4.8
Windows10
Visual Studio 2019 コミュニティ
回答1件
あなたの回答
tips
プレビュー