【转】Asp.Net服务器控件添加OnClientClick属性绑定

简介: 出处:http://www.itwis.com/html/net/aspnet/20101111/9533.html Asp.Net服务器控件添加OnClientClick属性绑定,在应用Asp.net服务器控件时经常会用到OnClientClick执行脚本的问题,今天就遇到OnClientCli...

出处:http://www.itwis.com/html/net/aspnet/20101111/9533.html

Asp.Net服务器控件添加OnClientClick属性绑定,在应用Asp.net服务器控件时经常会用到OnClientClick执行脚本的问题,今天就遇到OnClientClick绑定数据集中的某些列,然后调用JS脚本的问题,baidu+google研究总结常用绑定方式如下:

   A: OnClientClick='<%#String.Format("return jsf(\"{0}\",\"{1}\")",Eval("domain"),Eval("siteid")) %>'>

   B: OnClientClick= '<%#Eval("domain","return jsf(\"{0}\")") %>'

   C:  OnClientClick='<%# "javascript:return jsf(" + Eval("id") + ");" %>'

  domain、siteid、id都是外层数据集中的列名,jsf为javascript函数名。

注意学会用 String.Format 不要去 ++++
 注意 " ' 转义,特别 js 与 C# 混用
==========================================================================================================================

下面是我自己做项目时的写法,可以成功!

  <ItemTemplate>
                                    <input type="checkbox" data="<%# Eval("ID") %>" name="GridItemsList" onclick="BRC.ChkBox.CheckGroup(this, 'GridItemsList_chkAll')" />
                                </ItemTemplate>
                                <HeaderStyle Width="48px" />
                            </asp:TemplateColumn>
                            <asp:BoundColumn DataField="ID" HeaderText="编号" Visible="False">
                                <HeaderStyle Width="30px" />
                            </asp:BoundColumn>
                            <asp:BoundColumn DataField="DossierName" HeaderText="卷宗名称" />
                            <asp:BoundColumn DataField="StateTypeValue" HeaderText="状态" SortExpression="StateTypeValue" />
                            <asp:BoundColumn DataField="Remark" HeaderText="备注" SortExpression="Remark" />
                            <asp:TemplateColumn HeaderText="编辑">
                                <ItemStyle Wrap="False" HorizontalAlign="Center" Width="80px" />
                                <ItemTemplate>
                                        <asp:ImageButton ID="ImageButton1" runat="server" ImageUrl="~/App_Themes/Default/images/edit.gif"
                                        AlternateText="编辑" OnClientClick='<%# String.Format("BRC.Dialog.ControlBtn(\"{0}\",\"../Dialogs/DossierEdit.aspx?Mode=Edit&amp;Id={1}\",600,200);return false;",btnRefresh.ClientID,Eval("id"))%>' />
                                    &nbsp;
                                    <asp:ImageButton ID="btn_Delete_Confirm" runat="server" ImageUrl="~/App_Themes/Default/images/del.gif"
                                        AlternateText="删除" CommandName="Delete" CommandArgument='<%# Bind("Id") %>' OnClientClick="return confirm('确认要删除此行信息吗?')" />
                                    <asp:Button runat="server" ID="btn_Delete" CommandName="Delete" CssClass="Invisible" />
                                </ItemTemplate>
                            </asp:TemplateColumn>

==========================================================================================================================

推荐一篇文章,你也可以看看:http://www.cnblogs.com/Godblessyou/archive/2011/03/23/1992219.html

相关文章
|
7月前
|
开发框架 JavaScript 前端开发
震撼!破解 ASP.NET 服务器控件 Button 执行顺序之谜,颠覆你的开发认知!
【8月更文挑战第16天】在ASP.NET开发中,通过Button控件实现先执行JavaScript再触后台处理的需求十分常见。例如,在用户点击按钮前需前端验证或提示,确保操作无误后再传递数据至后台深度处理。此过程可通过设置Button的`OnClientClick`属性调用自定义JavaScript函数完成验证;若验证通过,则继续触发后台事件。此外,结合jQuery也能达到相同效果,利用`__doPostBack`手动触发服务器端事件。这种方式增强了应用的交互性和用户体验。
72 8
|
7月前
|
开发框架 JavaScript 前端开发
揭秘:如何让你的asp.net页面变身交互魔术师——先施展JavaScript咒语,再引发服务器端魔法!
【8月更文挑战第16天】在ASP.NET开发中,处理客户端与服务器交互时,常需先执行客户端验证再提交数据。传统上使用ASP.NET Button控件直接触发服务器事件,但难以插入客户端逻辑。本文对比此法与改进方案:利用HTML按钮及JavaScript手动控制表单提交。后者通过`onclick`事件调用JavaScript函数`SubmitForm()`来检查输入并决定是否提交,增强了灵活性和用户体验,同时确保了服务器端逻辑的执行。
84 5
|
4月前
|
开发框架 .NET C#
在 ASP.NET Core 中创建 gRPC 客户端和服务器
本文介绍了如何使用 gRPC 框架搭建一个简单的“Hello World”示例。首先创建了一个名为 GrpcDemo 的解决方案,其中包含一个 gRPC 服务端项目 GrpcServer 和一个客户端项目 GrpcClient。服务端通过定义 `greeter.proto` 文件中的服务和消息类型,实现了一个简单的问候服务 `GreeterService`。客户端则通过 gRPC 客户端库连接到服务端并调用其 `SayHello` 方法,展示了 gRPC 在 C# 中的基本使用方法。
83 5
在 ASP.NET Core 中创建 gRPC 客户端和服务器
|
7月前
|
开发框架 缓存 .NET
并发请求太多,服务器崩溃了?试试使用 ASP.NET Core Web API 操作筛选器对请求进行限流
并发请求太多,服务器崩溃了?试试使用 ASP.NET Core Web API 操作筛选器对请求进行限流
301 0
|
6月前
|
弹性计算 JSON 运维
阿里云ECS实例运维属性-如何控制实例的宕机表现
介绍如何通过运维属性指定阿里云ECS的宕机运维表现等
|
6月前
|
开发框架 JavaScript 前端开发
|
7月前
|
存储 开发框架 .NET
ASP.NET Web Api 使用 EF 6,DateTime 字段如何取数据库服务器当前时间
ASP.NET Web Api 使用 EF 6,DateTime 字段如何取数据库服务器当前时间
|
9月前
|
运维 Java 测试技术
Spring运维之boo项目表现层测试加载测试的专用配置属性以及在JUnit中启动web服务器发送虚拟请求
Spring运维之boo项目表现层测试加载测试的专用配置属性以及在JUnit中启动web服务器发送虚拟请求
88 3
|
9月前
|
SQL 开发框架 .NET
(20)ASP.NET Core EF创建模型(必需属性和可选属性、最大长度、并发标记、阴影属性)
(20)ASP.NET Core EF创建模型(必需属性和可选属性、最大长度、并发标记、阴影属性)
|
10月前
|
开发框架 NoSQL .NET
记一次asp.net 8 服务器爆满的解决过程
该文档描述了一次服务器性能问题及其解决方案。配置包括1台2c4g CentOS服务器作为API反代,1台8c16g Windows 2019服务器运行IIS、SQL Server、MongoDB和Redis。服务器处理数据导入和用户查询,使用Asp.net core、easycaching、freesql和redis技术。问题是在晚上10点后,CPU占用率飙升,特别是MongoDB,导致数据处理延迟。解决方案包括优化导入流程、关闭MongoDB的WriteConcern、添加ResponseCache、关闭Nginx日志、限制Nginx速率及排查出前端代码错误导致的自我DDoS。