Asp.net 为什么ErrorMessage不能正确呈现

Asp.net 为什么ErrorMessage不能正确呈现,asp.net,validationsummary,rangevalidator,Asp.net,Validationsummary,Rangevalidator,在FormView EditItemTemplate、ASP面板、AJAX面板、内容页和母版页的html表格(td)中使用ASP文本框, 使用保存按钮验证文本框时,ValidationSummary显示错误的错误消息 ValSummary显示“输入的里程数小于”“英里数” 而不是“输入的里程数小于88123英里” 文本框和验证程序的标记如下所示: <asp:TextBox ID="txtMileage" runat="server" Text='<%# Bind("Mileage")

在FormView EditItemTemplate、ASP面板、AJAX面板、内容页和母版页的html表格(td)中使用ASP文本框, 使用保存按钮验证文本框时,ValidationSummary显示错误的错误消息

ValSummary显示“输入的里程数小于”“英里数”

而不是“输入的里程数小于88123英里”

文本框和验证程序的标记如下所示:

<asp:TextBox ID="txtMileage" runat="server" Text='<%# Bind("Mileage") %>' 
   CssClass="ucIsRequired"
   MaxLength="6" 
   AutoPostBack="True" OnTextChanged="txtMileage_TextChanged" 
/>
<asp:RangeValidator ID="txtMileageRangeValidator" runat="server" 
   ControlToValidate="txtMileage"
   Enabled="true"
   Display="None"
   MinimumValue='<%# Eval("aMileagePrev", "{0:D}")%>' 
   MaximumValue="999999"
   SetFocusOnError="false" 
   Type="Integer"
   ValidationGroup="valgrpDetails"
   ErrorMessage="Mileage entered is less than '<%= txtMileageRangeValidator.MinimumValue %>' miles"
   />

但是,当错误出现在ValidationSummary中时,它与上面列出的完全相同——它不会将MinimumValue替换为错误文本

我做错了什么?
谢谢。

除非禁用,否则RangeValidator将在客户端进行验证,即不进行回发,因此不会重新呈现服务器端嵌入的脚本

如果要在textbox事件上重置最小值,则可以像设置最小值一样设置ErrorMessage,但使用修改的字符串格式

ErrorMessage='<%# Eval("aMileagePrev", "Mileage entered is less than {0:D} miles") %>'
ErrorMessage=''

但是现在我正在仔细阅读一些其他的东西。范围验证旨在检查最小值/最大值之间的值。您正在假设该值永远不会大于maxValue。如果总是这样,那么您最好使用
CompareValidator
,将
Type
设置为
Integer
,并将
Operator
设置为
LessThan

非常好的答案!!!!很好用…谢谢。最大长度=6,因此值不能超过999999。我还感谢您对比较蒸发仪的建议。也许你能帮我回答这个问题???[连结]