Asp.net 为什么ErrorMessage不能正确呈现
在FormView EditItemTemplate、ASP面板、AJAX面板、内容页和母版页的html表格(td)中使用ASP文本框, 使用保存按钮验证文本框时,ValidationSummary显示错误的错误消息 ValSummary显示“输入的里程数小于”“英里数” 而不是“输入的里程数小于88123英里” 文本框和验证程序的标记如下所示: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")
<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。我还感谢您对比较蒸发仪的建议。也许你能帮我回答这个问题???[连结]