質問

私はASP.NET rangevalidatorコントロールに問題があります。

ユーザーが割引額を入力できるようにしたいと思いますが、この金額はマイナスでなければなりません(<$ 0.00)。テキストボックスに入力された金額が負の値であることを確認したいので、ページマークアップにこれを持っています。

<asp:TextBox ID="tbxDiscount" runat="server" />
<asp:RangeValidator ID="rvDiscount" runat="server" ControlToValidate="tbxDiscount"
     MinimumValue="0.0" MaximumValue="0.0" EnableClientScript="true" 
     ErrorMessage="Please enter a negative value for a discount" />

また、ページがレンダリングされる前に、コードに最小値を動的に設定しようとします - アイテム価格に相当するマイナスに相当します。したがって、アイテムが69ドルの場合、最小値を-69ドルに設定したい:

rvDiscount.MinimumValue = (-1.0m * Price).ToString();

問題は次のとおりです。このエラーメッセージを受け取り続けています。

最大値0.0は、rvdiscountの最小値-69.00を下回ることはできません

wtf?!?!??! 私がどこから来たのか、-69 $ $ 0未満......何が問題なのですか?

そしてもっと重要なことは、何ですか 解決 問題に?

役に立ちましたか?

解決

それは数学をやろうとしているのではなく、他の方法では言わなかったので、文字列の比較をしています。この属性を追加してみてください:

Type="Double"
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top