2013-01-04 2 views
0

Мы хотели бы заполнить текстовое поле сегодняшней датой в качестве значения по умолчанию, когда пользователь переходит в режим «Добавить» в ASP.Net DetailsView из 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 в Case -> "Добавить", но получил сообщение, которое TextBoxLateTimeArrivedAtSchool не было определено. Я не уверен, почему intellisence не нашел его из разметки.

Я думал, что «Случай» -> «Добавить» было правильным местом для заполнения текстового поля, но похоже, что это не место для этого.

ответ

0

Я думаю, вам нужно сначала найти контроль. Код должен быть примерно таким:

Select Case e.CommandName 

    Case "Add" 
     Dim txtBox As TextBox 
     textBox = DetailsViewDetails.FindControl("TextBoxLateTimeArrivedAtSchool") 
     textBox.Text = DateTime.Now 
Смежные вопросы