0

asp:TextBoxコントロールとそれに関連付けられたjavascriptカレンダー関数があります。

<asp:TextBox ID="txtFromDate" ReadOnly="true" runat="server" style="font-family:Verdana; font-size:11px;"></asp:TextBox>
<a href="javascript: void(0);" onmouseover="if (timeoutId) clearTimeout(timeoutId);window.status='Show Calendar';return true;" onmouseout="if (timeoutDelay) calendarTimeout();window.status='';" onclick="g_Calendar.show(event,'formAddCosting.txtFromDate',false); return false;">
<img src="Images/calendar.gif" name="calendarFromDate" width="34" border="0" alt="" /></a>

javascriptカレンダーから日付を選択して、テキストボックスに表示できます。しかし、コードビハインドで検証のためにテキストボックスの日付をチェックしようとすると、デバッグ中にdtFrom = Convert.ToDateTime(txtFromDate.Text.ToString());表示されます。""コードビハインドからテキストボックスの値を取得するにはどうすればよいですか?VB2005、ASP.Net2.0、C#を使用しています。前もって感謝します。

4

2 に答える 2

2

TextBoxから値を取得するには、次の手順を実行します。

  1. ReadOnly="false"テキストボックスの値を取得できない唯一の理由として、テキストボックスから属性を削除します。これは、ReadOnly="true"またはEnabled="false"を使用すると、texytboxの値がビューステートに保持されないためです。

  2. エイジロード関数のファイルの背後にあるコードでテキストボックスを読み取り専用にするには、次のコードを記述します。

    txtFromDate.Attributes.Add( "readonly"、 "readonly");

于 2012-07-09T10:33:08.540 に答える
1

これは、TextBox読み取り専用であるためです:http: //www.codeproject.com/Articles/33649/ViewState-and-Readonly-Property-of-Textbox

したがって、有効にして検証するか(ユーザーが手動で日付を入力する場合)、HiddenField代わりにカレンダーから日付を保存するために使用します。

ユーザーを子供のように扱わない方が常に良いので、最初のオプションをお勧めします。

于 2012-07-09T10:26:16.243 に答える