主要问题如下:
设置三个TextBox,前两个分别输入最大值和最小值(且这两个值都随时会变化),后一个必须填入其中间的数值(都为整型)否则就报错,用RangeValidator验证控件实现错误显示。
客户端代码如下
<form id="Form1" method="post" runat="server">
        Minimum Value:
<asp:TextBox id="txtMinNumber" runat="server"></asp:TextBox>
<p>
Maximum Value:
<asp:TextBox id="txtMaxNumber" runat="server"></asp:TextBox>
</p>
<p>
Value:
<asp:TextBox id="txtRangeNumber" runat="server"></asp:TextBox>
<asp:RangeValidator id="RangeValidator1" runat="server" ErrorMessage="RangeValidator" ControlToValidate="txtRangeNumber"
             Display="Dynamic" Type="Integer">Number must between minimum  value and maximum value! </asp:RangeValidator>
</p>
<p>
<asp:Button id="Button1" runat="server" Text="Submit"></asp:Button>
</p>
</form>服务端代码
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
RangeValidator1.MinimumValue = txtMinNumber.Text.ToString();
RangeValidator1.MaximumValue = txtMaxNumber.Text.ToString();

}
private void Button1_Click(object sender, System.EventArgs e)
{
if(Page.IsValid)
{
Response.Redirect("ThankYou.aspx");
}
}程序运行没错误但是一旦生成后页面总是弹出错误,错误如下:RangeValidator1”的“MaximumValue”属性的值“”无法转换为类型“Integer”。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Web.HttpException: “RangeValidator1”的“MaximumValue”属性的值“”无法转换为类型“Integer”。而我一旦将其用Int32.Parse()转换之后它又会报“无法将类型“int”隐式转换为“string””的错误。请懂得的朋友们指点一二。

解决方案 »

  1.   

    RangeValidator1.MinimumValue = txtMinNumber.Text.ToString(); 
    RangeValidator1.MaximumValue = txtMaxNumber.Text.ToString();
    页面加载的时候这两个值都是空的,怎么能转换成整数
      

  2.   

    同意楼上!页面加载时txtMinNumber和txtMaxNumber的值都为空。
    在进行比较时,必须设定RangeValidator的Type值为Integer。
      

  3.   


    那要是这样的话还请给予正确的解决办法,题目要求是:
    在下列清单中包含三个TextBox控件,必须输入一个大于或等于输入到第一个控件的值的数字,同时该值还要小于或等于输入到后一个控件的值,要不然就报错。(用RangeValidator来完成报错验证)客户端代码请看上面原帖,关键是服务端代码如何写?我是想实现一种前两个TextBox中的值在不断变化的时候用RangeValidator中的MinimumValue、MaximumValue属性也能动态的取值。还请高手们耐心赐教,谢谢!
      

  4.   


    那要是这样的话还请给予正确的解决办法,题目要求是:
    在下列清单中包含三个TextBox控件,必须输入一个大于或等于输入到第一个控件的值的数字,同时该值还要小于或等于输入到后一个控件的值,要不然就报错。(用RangeValidator来完成报错验证)客户端代码请看上面原帖,关键是服务端代码如何写?我是想实现一种前两个TextBox中的值在不断变化的时候用RangeValidator中的MinimumValue、MaximumValue属性也能动态的取值。还请高手们耐心赐教,谢谢!
      

  5.   

    System.Web.HttpException: “RangeValidator1”的“MaximumValue”属性的值“”无法转换为类型“Integer”。 
    //这里已经给你说很清楚了啊
    另外,你在动态改变的时候,还是得判断下,就如kx_z2007所说的!