ASP.NET数据绑定控件数据项中的服务器控件注册JS方法

可以利用数据绑定控件的行绑定事件来为控件的属性写入事件

现在要为SmartGrid中的TextBox控件写keyup()JS事件

前台页面

<web:SmartGrid ID="grdChargeAginstBorrow" DataKeyNames="ID" runat="server" Width="100%" AutoGenerateColumns="False"
    EmptyDataText="没有符合条件的数据" AutoSort="False"   OnRowDataBound="grdChargeAginstBorrow_RowDataBound" >
    <Columns>
        <asp:TemplateField HeaderText="申请日期" SortExpression="OrderCode">
            <ItemTemplate>
                <asp:TextBox runat="server" ID="txtCAMoney" CssClass="validataCAManoy"    style="width:90%;text-align:center"   ></asp:TextBox>
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</web:SmartGrid>

前台JS代码

/*
        键按下时验证输入金额格式
    */
    function ValidataKeyUp(col) {
        var v = $(col).val(); //当前填写的金额
        var porintNum = 5;//小数点后的位数
        v = v.replace(/[^\d.]/g, '').replace(/^\./g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.');
        if (v.indexOf('.') > 0) {
            v = v.substring(0, v.indexOf('.') + porintNum);
        }
        if (v.indexOf('0') == 0 && v.indexOf('.') != 1) {
            v = "0";
        }
        $(col).val(v);
    }

后台绑定方法代码:

protected void grdChargeAginstBorrow_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                System.Web.UI.WebControls.TextBox tb = e.Row.FindControl("txtCAMoney") as System.Web.UI.WebControls.TextBox;
                tb.Attributes.Add("onkeyup", "ValidataKeyUp(this)");
            }
        }


你可能感兴趣的:(asp.net,控件写JS事件,数据绑定控件)