【问题标题】:Populating ASP.Net DetailsView textbox with default value when entering Add mode进入添加模式时使用默认值填充 ASP.Net DetailsView 文本框
【发布时间】:2013-01-05 03:30:07
【问题描述】:

当用户从 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

我尝试在案例中键入 TextBoxLateTimeArrivedAtSchool.Text ->“添加”,但收到一条消息,指出未定义 TextBoxLateTimeArrivedAtSchool。我不确定为什么智能没有从标记中找到它。

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

【问题讨论】:

    标签: asp.net vb.net code-behind default-value populate


    【解决方案1】:

    我认为你必须先找到控件。代码应该是这样的:

    Select Case e.CommandName
    
        Case "Add"
            Dim txtBox As TextBox
            textBox = DetailsViewDetails.FindControl("TextBoxLateTimeArrivedAtSchool")
            textBox.Text = DateTime.Now
    

    【讨论】:

      猜你喜欢
      • 2012-12-19
      • 1970-01-01
      • 1970-01-01
      • 2011-07-07
      • 2011-10-03
      • 2011-08-30
      • 1970-01-01
      • 1970-01-01
      • 2011-06-25
      相关资源
      最近更新 更多