一、OnClick
OnClick事件是服务器端事件处理方法,在服务器端运行.点击按钮后,先执行postback,再运行方法
二、OnClientClick
OnClientClick中常用来做一些客户端的检测.
三、配合使用
当我们需要提交服务器前做一些校验时,需要OnClick 配合OnClientClick使用
<script type="text/javascript">
function createSFOrder(e) {
var abc = $(e).attr("abc");
console.info($(e).attr("abc").split(','));
return false;
}
function setPosition() {
//点击查询时记录div-main的滚动条位置
let postion = $(".div-main").scrollTop();
//临时存储
sessionStorage.setItem('wx_cj_chukmx_manage_pos', postion);
return true;
}
$(function () {
//加载时自动滚动到上次滚动位置
let postion = sessionStorage.getItem('wx_cj_chukmx_manage_pos');
if (postion) {
$(".div-main").animate({ scrollTop: postion }, 100);
sessionStorage.removeItem('wx_cj_chukmx_manage_pos');
}
})
</script>
//第一种情况asp:Button,注意 OnClientClick一定要用return function()的形式,
//如果使用OnClientClick="setPosition()" 则不生效
<asp:Button ID="Button2" runat="server" OnClick="Button2_Click" Text="查询"
OnClientClick="return setPosition()" />
//第二种情况,在GridView 如果需要给检测函数动态传递参数,可以使用下面这种方式
//给模板中的按钮添加动态自定义属性,并给OnClientClick对应函数传递当前dom对象
<asp:GridView ID="GVList" runat="server" AutoGenerateColumns="False" CellPadding="0" class="layui-table" OnRowCommand="GVList_RowCommand" OnRowCreated="GVList_RowCreated" Width="100%">
<FooterStyle CssClass="GridViewFooter" />
<EmptyDataRowStyle CssClass="GridViewEmpty" />
<Columns>
<asp:TemplateField HeaderText="操作">
<ItemTemplate>
<asp:Button ID="生成顺丰单号" runat="server"
abc='<%# Eval("diaocdwcoding")+","+Eval("diaordwcoding")+","+Eval("SFORDER") + "," + Eval("DIAOBDBH")%>'
OnClientClick='return createSFOrder(this)'
Text="生成顺丰单" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
<RowStyle CssClass="GridViewItem" />
<EmptyDataTemplate>
没有数据!
</EmptyDataTemplate>
<PagerStyle CssClass="GridViewPage" />
<HeaderStyle CssClass="GridViewHead" />
<AlternatingRowStyle CssClass="GridViewAlternatingItem" />
</asp:GridView>