控件的局部验证

Microsoft给我们做了很多很多!
比如Microsoft的验证控件RequiredFieldValidator,CompareValidator,RegularExpressionValidator等。
但是页面上有多个Button后,我们不管点击那个Button都会触发验证控件。有时,这不是我们想要的。以前我做过一个
EC的购物流程。当用户结算的时候弹出登陆窗口[旁边有注册功能],这样2边的验证应该是隔离的。之间没有耦合性。可是不管点击登陆还是注册。双方的验证控件都进行验证。在VS2005我们可以用ValidationGroup来设置验证集合。
可是在VS2003里不知道用什么?。
迫不得已,还是回到最原始的js方法吧。
例子如下:
客户端代码
<script language="javascript">
function jsValidate()
{
    var obj=document.getElementById("<%=txtValiate.ClientID%>");
    if(obj.value=="")
    {
        document.getElementById("<%=hidStatus.ClientID %>").value="0";
        alert("不能为空");
    }
    else
    {
        document.getElementById("<%=hidStatus.ClientID %>").value="1";
        //alert("你输入了!");
    }
 
}
</script>
    <asp:TextBox ID="txtValiate" runat="server" ></asp:TextBox>
    <asp:Button ID="btnValidate" runat="server" Text="调用客户端" OnClick="btnValidate_Click" />

    <input type="hidden" runat="server" id="hidStatus" value="" />

服务器端代码
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            this.btnValidate.Attributes.Add("onclick", "jsValidate()");
        }
    }
    protected void btnValidate_Click(object sender, EventArgs e)
    {
        if (this.hidStatus.Value == "1")
        {
            Response.Write("调用服务器控件了。");
        }
    }

有知道VS2003如何设置的朋友,请赐教!
posted @ 2008-06-21 23:14  roboth  阅读(388)  评论(0)    收藏  举报