0

ユーザーが VB.Net コード ビハインド ファイルから ASP.Net DetailsView で「追加」モードに入ったときに、今日の日付をデフォルト値としてテキスト ボックスに入力したいと考えています。人口を増やす方法を教えてもらえますか?

入力するテキストボックスのマークアップは次のとおりです。

<asp:TemplateField HeaderText="Late Time Arrived At School:" SortExpression="LateTimeArrivedAtSchool">

    <EditItemTemplate>
        <asp:TextBox ID="TextBoxLateTimeArrivedAtSchool" runat="server" 
            Text='<%# Bind("LateTimeArrivedAtSchool", "{0:hh:mm}") %>'></asp:TextBox>
    </EditItemTemplate>

    <InsertItemTemplate>
        <asp:TextBox ID="TextBoxLateTimeArrivedAtSchool" runat="server" 
            Text='<%# Bind("LateTimeArrivedAtSchool", "{0:hh:mm}") %>'></asp:TextBox>
    </InsertItemTemplate>

    <ItemTemplate>
        <asp:Label ID="LabelLateTimeArrivedAtSchool" runat="server" 
            Text='<%# Bind("LateTimeArrivedAtSchool", "{0:hh:mm}") %>'></asp:Label>
    </ItemTemplate>

    <ItemStyle ForeColor="Blue" />
</asp:TemplateField>

このマークアップに示すように、OnItemCommand も設定しました。

<asp:DetailsView 
    ID="DetailsView" 
    runat="server" 
    AutoGenerateRows="False" 
    Height="50px" 
    Width="207px" 
    DataSourceID="SqlDataSourceDetails"
    DataKeyNames="ID"
    OnItemCommand="DetailsViewDetails_ItemCommand">

    <Fields>

コード ビハインド ファイルには次のコーディングがあります。

Protected Sub DetailsViewDetails_ItemCommand(sender As Object, e As System.Web.UI.WebControls.DetailsViewCommandEventArgs)

    Select Case e.CommandName

        Case "Add"


        Case "Edit"
            ButtonAddNewAttendance.Enabled = False

        Case "Delete"

        Case "Update"
            ButtonAddNewAttendance.Enabled = True

        Case "Insert"

    End Select
End Sub

Case に TextBoxLateTimeArrivedAtSchool.Text と入力しようとしました -> "Add" を入力しましたが、TextBoxLateTimeArrivedAtSchool が定義されていないというメッセージが表示されました。インテリジェンスがマークアップからそれを見つけられなかった理由はわかりません。

ケース - >「追加」がテキストボックスに入力する正しい場所だと思っていましたが、それを行う場所ではないようです。

4

1 に答える 1

0

最初にコントロールを見つける必要があると思います。コードは次のようになります。

Select Case e.CommandName

    Case "Add"
        Dim txtBox As TextBox
        textBox = DetailsViewDetails.FindControl("TextBoxLateTimeArrivedAtSchool")
        textBox.Text = DateTime.Now
于 2013-01-04T19:30:07.143 に答える