本帖最后由 TERMINATOR_LZQ 于 2011-09-26 16:33:20 编辑

解决方案 »

  1.   

                         <%--<asp:RangeValidator ID="RvMedcialBase" runat="server"
                                ControlToValidate="TxtMedical" ErrorMessage="修改范围必须在缴费基数的60%~100%内" Type="Double"></asp:RangeValidator>--%>

                   抱歉啊  代码加红不了
      

  2.   

    就是一个范围 怎么设定??
    我说吧
    有  A  B  C  D(均为decimal类型)
    现在要给A  B  C  设定范围  D不用设定
    40%*D<=A<=D
    60%*D<=B<=D
    60%*D<=C<=D就这个问题
    代码在上面!!
      

  3.   

    你的意思是不是 A B C是三个预设值,而D是由用户输入的。
    (代码我没看,这么长的还没注释,眼晕啊……)如果是的话,你自己已经给出公式了啊。
    你可以这样认为 你设定的不是A B C,而是X Y ZA=XD
    B=YD
    C=ZD然后
    X>0.4 && X<1 
    Y>0.6 && Y<1 
    Z>0.6 && Z<1 
      

  4.   

    思路是:
    在后台写一个函数,当TxtMedical失去焦点时调用。
    在函数里判断TxtMedical的值是否符合要求。
    以上是在验证控件找到方法的情况下
      

  5.   

    第一种方法:用JS判断
    这里举例针对 “医疗基数”
    在后台代码写上 TxtMedical.Attrbutes.Add(this,"onblur","js函数名称check1(这里传缴费基数,0.6)")
    前台
    <script type="text/javascript">
        function check1(obj,baseNum,0.6)
        {
            var txtValue = this.value;
            if !(txtValue>=baseNum*0.6 && txtValue<=baseNum)
            {
                alert("修改范围必须在缴费基数的60%~100%内");
            }
        }
    </script>-----------------------------------------------------------------------
    第二种方法:找到 RangeValidator 控件的详细说明(我很久没用了,忘了。。)。
    在代码里调用 验证函数  checkDate  。
    如你已写好一个函数
    protected string checkDate() .....
    如果你找到了,第二种办法容易得多,因为传值很方便。
      

  6.   

    写字快了,这里应该是
    在后台代码写上 TxtMedical.Attrbutes.Add(this,"onblur","js函数名称check1(这里传缴费基数,0.6)")TxtMedical.Attrbutes.Add("onblur","js函数名称check1(this,这里传缴费基数,0.6)")
      

  7.   

    这个验证控件没怎么用,可以的话,在后台写个方法check判断下, 方法里面传两个参数,前台用<%#check(Eval(""),Eval(""))%>
      

  8.   

    我说了 基数有了  abc也有了 就是做对比 做个简单的if判断或者三原判断就可以了 在输出就完事