int属性上的PropertyProxyValidator错误

时间:2011-07-06 16:08:03

标签: asp.net validation application-blocks

我正在使用应用程序块,并且我有一个使用“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属性可以正常工作。 对不起我的英文:)

1 个答案:

答案 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(对不起我的英文)