0

我的asp.net 表单上有一个jQuery 日期选择器。一切似乎都工作正常,除了当我提交表单时,选择的日期从文本框中丢失,.net 代码给我一个错误,因为日期丢失。

有谁知道为什么会发生这种情况?

当我从文本框中删除 readonly=true 时它开始工作,但我需要它是只读的,以防止用户错误地输入日期。


根据要求的一些代码/脚本:

HTML:

<form id="form1" runat="server">
    <asp:TextBox id="txtDate" Runat="server" readonly="true" />
    <asp:Button ID="btnSendRequest" text="Send Request" Runat="server" OnClick="btnSendRequest_Click" />
</form>

jQuery:

$("#txtDate").datepicker({
    dateFormat: "dd/mm/yy"
});

。网:

Sub btnSendRequest_Click(ByVal Sender As Object, ByVal E As EventArgs)
    objSQLCommand = New SqlCommand("insert query here", objConnection)

    'parameters here

    Try
        objSQLCommand.Connection.Open()
        objSQLCommand.ExecuteNonQuery()
        objSQLCommand.Connection.Close()
    Catch Ex As Exception
        ' some error here
    End Try
End Sub
4

2 回答 2

2

如果设置了只读标志,.Net 将不会获得该值。您需要删除它才能使其正常工作。我不确定 enabled = false 是否会给你同样的问题,但我个人会停止通过 jquery 进行用户交互,因为无论如何你都在使用它。

或者您可以在代码隐藏中添加只读属性,这有时会起作用并允许 .net 仍然读取该值:

txtYourTextBox.Attributes.Add("readonly", "readonly");
于 2013-07-04T10:20:03.290 回答
0

第一个问题是这个

$("#<%=txtDate.ClientID%>").datepicker({
   dateFormat: "dd/mm/yy"
});

将客户端 ID 添加到 txtDate

于 2013-07-04T10:49:05.840 回答