Fineui 解决OnClientClick中无论是返回true或false,都依然执行后台代码的问题

有时写js代码验证数据,需要在OnClientClick中执行,如果符合条件执行后台代码,不符合则不触发后台代码。
刚开始的时候无论返回true或false都会执行后台代码(asp.net写法),看了html源文件才明白,fineui不是这样的逻辑。
故分享解决方法:

======解决方法如下======
页面:
<body>
    <form id="form1" runat="server">
    <f:pageManager runat="server"/>
        <f:TextBox runat="server" ID="tb1" EmptyText="输入123为非法!"/>
        <f:Button runat="server" ID="btn1" Text="输入" OnClientClick=“if(yanzheng()) { alert('非法'); return;}”></f:Button>
    </form>
</body>
</html>
<script>
    function yanzheng() {
        return (F('<%=tb1.ClientID%>').getValue() == "123");
    }
</script>


后台就一个button方法:
protected void _btn1_OnClick(object sender, EventArgs e)
        {
            Alert.Show("后台方法");
        }

posted @ 2017-07-03 09:56  Sunday*  阅读(579)  评论(2编辑  收藏  举报