我正在使用应用程序块,并且我有一个使用“Not Null Validator”和“Range Validator”的属性。
然后在表示层我使用此代码:
<tr>
<td width="30%">
<asp:Label ID="MyLabel" runat="server" Text="My Property"></asp:Label>
</td>
<td>
<asp:TextBox ID="MyTextBox" runat="server" Width="175px"></asp:TextBox>
<cc1:PropertyProxyValidator ID="MyPropertyProxyValidator" runat="server" ControlToValidate="MyTextBox" SourceTypeName="MySourceTypeName" RulesetName="MyRulesetName" PropertyName="MyPropertyName">*</cc1:PropertyProxyValidator>
</td>
</tr>
这段代码给我一个错误:不是Int32的有效值。
我读过并使用这篇文章: http://www.davidhayden.com/blog/dave/archive/2007/02/28/propertyproxyvalidatorvalueconvertevent.aspx 但它不起作用。
注意:string和datetime属性可以正常工作。 对不起我的英文:)
答案 0 :(得分:0)
最后我发现了这个问题,有点尴尬,是因为我忘了填写Range Validator的upperBound属性,我以为如果我把upperBoundType =“忽略”没有必要就把upperBound,但不是,你需要填写任何价值。
我在Web.config验证部分中有这段代码:
<validator type="XXXXX" culture="XXXXX" name="Range Validator" lowerBoundType="Inclusive" lowerBound="1" upperBoundType="Ignore" />
现在我有了这个:
<validator type="XXXXX" culture="XXXXX" name="Range Validator" lowerBoundType="Inclusive" lowerBound="1" upperBoundType="Ignore" upperBound="1" />
雨披!!!我赢得了“Tumbleweed”徽章:s(对不起我的英文)