Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将当前设置为ASP.Net SqlDataSource插入参数默认值_Asp.net_Parameters_Default Value_Sqldatasource - Fatal编程技术网

将当前设置为ASP.Net SqlDataSource插入参数默认值

将当前设置为ASP.Net SqlDataSource插入参数默认值,asp.net,parameters,default-value,sqldatasource,Asp.net,Parameters,Default Value,Sqldatasource,使用此ASP.Net,我们希望在用户单击DetailsView的“新建”按钮时,在日期文本框中显示今天的日期,以便在实际插入数据之前可以在文本框中看到日期 <InsertParameters> <asp:Parameter Name="ClassID" Type="Int32" /> <asp:Parameter Name="StudentID" Type="Int32" /> <asp:Parameter Name="Absen

使用此ASP.Net,我们希望在用户单击DetailsView的“新建”按钮时,在日期文本框中显示今天的日期,以便在实际插入数据之前可以在文本框中看到日期

<InsertParameters>
    <asp:Parameter Name="ClassID" Type="Int32" />
    <asp:Parameter Name="StudentID" Type="Int32" />
    <asp:Parameter Name="Absent" Type="String" />
    <asp:Parameter Name="Late" Type="String" />
    <asp:Parameter Name="LateTimeArrivedAtSchool" Type="DateTime" />
    <asp:Parameter DbType="Date" Name="DateAttendanceTaken"  DefaultValue= "<%=DateTime.Now.ToString() %>"/>
</InsertParameters>

通过抓取ListView的插入项并找到
TextBoxDateAttendanceTakenInsert
textbox,可以使用new按钮的post back设置文本框

将文本框的值设置为
DateTime.Now

VB:


这样就可以了,每次单击new时,它只需将insert项中的文本框设置为当前日期时间。

感谢您的快速回复。由于我不知道如何进行编码,您能展示示例编码吗?谢谢,谢谢。为了让事情变得更简单,这是在一个基于母版页的网页中,如果有帮助的话,该母版页的内容id为“ContentBody”。:-)谢谢你的编码。我试着用一个转换器将它转换成VB.Net,但是转换器说object control=行有一个错误。谢谢,差不多就到了。我得到这个错误可能是因为它是一个DetailsView而不是ListView:错误1参数没有为“Public Overridable Sub InsertItem(causesValidation为布尔值)”的参数“causesValidation”指定'.C:\Development\Knowledge Academy Internal\Knowledge Academy\Knowledge Academy\Attention.aspx.vb 148 51 Knowledge Academy用于更正。代码将编译,当我单击“新建”按钮时,出现以下错误:对象引用未设置为对象的实例。看起来FindControl找不到它。我通过直接从文本框的标记id复制名称来确保拼写正确。
<asp:TemplateField 
    HeaderText="Attendance Date:" SortExpression="DateAttendanceTaken">

    <EditItemTemplate>
        <asp:TextBox 
            ID="TextBoxDateAttendanceTaken" 
            runat="server" 
            Text='<%# Bind("DateAttendanceTaken", "{0:MM/dd/yyyy}") %>'>
        </asp:TextBox>

        <asp:RequiredFieldValidator ID="RequiredFieldValidatorEditDate" runat="server" ControlToValidate="TextBoxDateAttendanceTaken" 
            ErrorMessage="Please enter the Attendance Date." Font-Bold="True" Font-Italic="True" ForeColor="Red" 
            SetFocusOnError="True" Display="Dynamic"></asp:RequiredFieldValidator>
    </EditItemTemplate>

    <InsertItemTemplate>
        <asp:TextBox 
            ID="TextBoxDateAttendanceTakenInsert" 
            runat="server" 
            Text='<%# Bind("DateAttendanceTaken", "{0:MM/dd/yyyy}") %>'>
        </asp:TextBox>

        <asp:RequiredFieldValidator ID="RequiredFieldValidatorInsertDate" runat="server" ControlToValidate="TextBoxDateAttendanceTakenInsert" 
            ErrorMessage="Please enter the Attendance Date." Font-Bold="True" Font-Italic="True" ForeColor="Red" 
            SetFocusOnError="True" Display="Dynamic"></asp:RequiredFieldValidator>
    </InsertItemTemplate>

    <ItemTemplate>
        <asp:Label 
            ID="LabelDateAttendanceTaken" 
            runat="server" 
            Text='<%# Bind("DateAttendanceTaken", "{0:MM/dd/yyyy}") %>'>
        </asp:Label>
    </ItemTemplate>

    <ItemStyle ForeColor="Blue" />
</asp:TemplateField>
<InsertItemTemplate>
    <asp:TextBox 
        ID="TextBoxDateAttendanceTakenInsert" 
        runat="server" 
        Text='<%# Bind("DateAttendanceTaken", "{0:MM/dd/yyyy}") %>'
        OnDataBinding="TextBoxDateAttendanceTakenInsert_DataBinding">
    </asp:TextBox>

</InsertItemTemplate>
Protected Sub TextBoxDateAttendanceTakenInsert_DataBinding(sender As Object, e As EventArgs)

    Dim txtBox As New TextBox
    txtBox = DetailsView.FindControl("TextBoxDateAttendanceTakenInsert")
    txtBox.Text = DateTime.Now.ToString("d")
End Sub
protected void NewButtonClick(object sender, EventArgs e)
{
    //Code to change to set Insert
    //get insert item
    object control = MyDetailsView.FindControl("TextBoxDateAttendanceTaken")
    //check for null
    if(control != null){
        TextBox tBox = (TextBox)control; //cast to TextBox
        tBox.Text = DateTime.Now.ToString(); //set text
    }
}
Dim tBox As TextBox =  CType(MyDetailsView.FindControl("TextBoxDateAttendanceTaken"), TextBox)
tBox.Text = DateTime.Now.ToString