最小値と最大値をプログラムで変更するために、asp:RangeValidatorを取得するのが苦労しています。残念ながら、私は、コンソールエラーメッセージを表示しています。ListView EditItemTemplateに含まれるasp:RangeValidatorを更新できません
'Uncaught Sys.WebForms.PageRequestManagerServerErrorException:Sys.WebForms.PageRequestManagerServerErrorException:' 'rvDateFrom'のMaximumValueプロパティの値 'を' Date 'に変換できません。
私のコードは以下の通りです。カレンダーは、UpdatePanelに含まれているListViewのEditItemTemplateに含まれています。
<ewc:CalendarPopup ID="cpDateFrom" runat="server" SelectedDate='<%# Bind("DateFrom")%>' CssClass="date"></ewc:CalendarPopup>
<asp:RangeValidator ID="rvDateFrom" runat="server" ControlToValidate="cpDateFrom" Type="Date" ErrorMessage="Invalid"></asp:RangeValidator>
の背後にあるコードは次のとおりです。RangeValidatorが発見された
Private Sub lvRangeValidatorTest_ItemEditing(sender As Object, e As ListViewEditEventArgs) Handles lvRangeValidator.ItemEditing
lvRangeValidator.EditIndex = e.NewEditIndex
DataBind()
Dim rvDateFrom As RangeValidator = CType(lvRangeValidatorTest.Items(e.NewEditIndex).FindControl("rvDateFrom"), RangeValidator
rvDateFrom.MinimumValue = "01/01/1900"
rvDateFrom.MaximumValue = "01/01/2020"
End Sub
、として意図的に誤った名前を入力すると、オブジェクトエラーのインスタンスがスローされますが、実際にRangeValidatorを更新していないようです。したがって、最小値と最大値を空白のままにします。
思考?
多くのありがとうございます。
)、日付は、YYYY/MM/DDなどの形式で指定する必要があります。 'rvDateFrom.MinimumValue =" 1900/01/01 "'を使うことができます。投稿への回答[RangeValidatorの日付形式](http://stackoverflow.com/questions/3332600/date-format-in-rangevalidator)も同じ情報を提供します。 – ConnorsFan
ヘッドアップありがとうが、空白の値がタイプの日付に変換することはできませんが表示されます。 問題のないアプリケーションの他の領域でその日付形式を使用しました。 EditItemTemplateを使用するときに問題が発生します。 – Cuddles
カルチャーはウェブアプリケーション内で指定されているので、カルチャーニュートラルな日付フォーマットを使用する必要はありません。 – Cuddles