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 -> "Add" 中键入 TextBoxLateTimeArrivedAtSchool.Text,但收到一条消息,指出未定义 TextBoxLateTimeArrivedAtSchool。我不确定为什么智能没有从标记中找到它。

我在想 Case -> "Add" 是填充文本框的正确位置,但看起来不是这样做的地方。

4

1 回答 1

0

I think you have to find the control first. The code should be something like this:

Select Case e.CommandName

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