- 浏览: 7857287 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (2425)
- 软件工程 (75)
- JAVA相关 (662)
- ajax/web相关 (351)
- 数据库相关/oracle (218)
- PHP (147)
- UNIX/LINUX/FREEBSD/solaris (118)
- 音乐探讨 (1)
- 闲话 (11)
- 网络安全等 (21)
- .NET (153)
- ROR和GOG (10)
- [网站分类]4.其他技术区 (181)
- 算法等 (7)
- [随笔分类]SOA (8)
- 收藏区 (71)
- 金融证券 (4)
- [网站分类]5.企业信息化 (3)
- c&c++学习 (1)
- 读书区 (11)
- 其它 (10)
- 收藏夹 (1)
- 设计模式 (1)
- FLEX (14)
- Android (98)
- 软件工程心理学系列 (4)
- HTML5 (6)
- C/C++ (0)
- 数据结构 (0)
- 书评 (3)
- python (17)
- NOSQL (10)
- MYSQL (85)
- java之各类测试 (18)
- nodejs (1)
- JAVA (1)
- neo4j (3)
- VUE (4)
- docker相关 (1)
最新评论
-
xiaobadi:
jacky~~~~~~~~~
推荐两个不错的mybatis GUI生成工具 -
masuweng:
(转)JAVA获得机器码的实现 -
albert0707:
有些扩展名为null
java 7中可以判断文件的contenttype了 -
albert0707:
非常感谢!!!!!!!!!
java 7中可以判断文件的contenttype了 -
zhangle:
https://zhuban.me竹板共享 - 高效便捷的文档 ...
一个不错的网络白板工具
最近在著名的4guysfromrolla.com(http://www.4guysfromrolla.com)上,有篇不错的文章
(http://aspnet.4guysfromrolla.com/articles/070407-1.aspx)
,讲的是如何使用aspajx中的controltookit中的
PopupControlExtender控件来实现一些特殊的效果,比如文中举了如何在一个GRIDVIEW中,当鼠标移动到某条记录
上时,可以显示这条记录的detail信息,这样就不用象以前那样,又要重新打开一个新的窗口去看detail的信息了.下面是实现的
要点,笔记之
首先,添加controltoolkit控件中的popupcontrolextender控件,然后点选右上角的智能标记,在弹出的窗口中,选择
“Add Dynamic Populate Page Method”,之后会自动生成相关的事件,是AJAX在POSTBACK后触发的事件,但奇怪的事,我装的
最新版本的controltookit中,并没有发现这个可以功能,只能在代码中写入如下了
[System.Web.Services.WebMethodAttribute(), System.Web.Script.Services.ScriptMethodAttribute()]
public static string GetDynamicContent(string contextKey)
{
return default(string);
}
其中注意的是,contextKey这个不能改变。这个方法中的代码等下再写
之后再设置popupcontrolextender控件的一些
其中dynamicservicemethod指定了刚才用来处理postback的方法,dynamiccontextkey这里就是每一条记录的ID了(这里是employeeID,因为用户将鼠标移动到这记录时,要根据这条记录的ID去取相应的detail记录,一对多关系嘛)
而dynamiccontrolID是指定了用一个panel控件来显示这些detail的信息,targetcontrolid则是当用户移动到某个图片时,再旁边弹出一个PANNEL来显示其detail信息,详细的用法为
TargetControlID:要和它结合在一起完成一定功能的目标控件ID.
PopupControlID:显示弹出窗口的控件ID
Position:是一个可选项设置,指弹出窗口相对于目标控件的位置,它的取值有:Left、Right、Top、Bottom、Center。
CommitProperty:是一个可选项设置,用于把弹出框的返回结果赋给控件相应属性的属性名称。
CommitScript:是一个可选项设置,在设置弹出框返回的结果后执行的附加脚本。
OffsetX/OffsetY:相对于弹出窗口默认位置再偏移一定像素点数作为它的弹出位置,这个偏移量由该属性设置,单位是像素点数。
接下来,我们完成postback的方法,
[System.Web.Services.WebMethodAttribute(), System.Web.Script.Services.ScriptMethodAttribute()]
public static string GetDynamicContent(string contextKey)
{
StringBuilder sTemp = new StringBuilder();
TerritoriesBLL oTerritories = new TerritoriesBLL();
Northwind.EmployeeTerritoriesDataTable ts = oTerritories.SelectTerritories(Convert.ToInt32(contextKey));
if (dt.Rows.Count > 0)
{
sTemp.Append("<table>");
sTemp.Append("<tr><td><b>Territories:</b></td></tr>");
foreach (Northwind.EmployeeTerritoriesRow t in ts)
{
sTemp.Append("<tr><td>" + t.Territory + "</td></tr>");
}
sTemp.Append("</table>");
}
else
sTemp.Append("<i>This employee covers no territories...</i>");
return sTemp.ToString();
}
在文中,只不过用将detail的信息数据返回,然后组织成简单的字符串的形式而已了
最后,由于我们是想实现当鼠标移动到某一条记录旁边的一个图时,用一个pannel显示出其详细信息框,因此要在gridview的
row_created事件中写入
protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
Image i = (Image)e.Row.Cells[1].FindControl("Image1");
i.Attributes.Add("onmouseover", "Panel1.style.display='inline';this.click();");
i.Attributes.Add("onmouseout", "Panel1.style.display='none';");
}
}
表示如果是datarow的话,则往其中每一行记录旁的图形(文中每行的记录,都有个图片image1)的onmouseover,onmouseout事件里添加相关的javascript事件,这里会把要显示detail记录的panel框显示出来,同时会调用image1的click()事件,而click()事件的调用则会回调GetDynamicContent方法,取得ajax postback()后返回的数据了
(http://aspnet.4guysfromrolla.com/articles/070407-1.aspx)
,讲的是如何使用aspajx中的controltookit中的
PopupControlExtender控件来实现一些特殊的效果,比如文中举了如何在一个GRIDVIEW中,当鼠标移动到某条记录
上时,可以显示这条记录的detail信息,这样就不用象以前那样,又要重新打开一个新的窗口去看detail的信息了.下面是实现的
要点,笔记之
首先,添加controltoolkit控件中的popupcontrolextender控件,然后点选右上角的智能标记,在弹出的窗口中,选择
“Add Dynamic Populate Page Method”,之后会自动生成相关的事件,是AJAX在POSTBACK后触发的事件,但奇怪的事,我装的
最新版本的controltookit中,并没有发现这个可以功能,只能在代码中写入如下了
[System.Web.Services.WebMethodAttribute(), System.Web.Script.Services.ScriptMethodAttribute()]
public static string GetDynamicContent(string contextKey)
{
return default(string);
}
其中注意的是,contextKey这个不能改变。这个方法中的代码等下再写
之后再设置popupcontrolextender控件的一些
<ajaxToolkit:PopupControlExtender |
其中dynamicservicemethod指定了刚才用来处理postback的方法,dynamiccontextkey这里就是每一条记录的ID了(这里是employeeID,因为用户将鼠标移动到这记录时,要根据这条记录的ID去取相应的detail记录,一对多关系嘛)
而dynamiccontrolID是指定了用一个panel控件来显示这些detail的信息,targetcontrolid则是当用户移动到某个图片时,再旁边弹出一个PANNEL来显示其detail信息,详细的用法为
TargetControlID:要和它结合在一起完成一定功能的目标控件ID.
PopupControlID:显示弹出窗口的控件ID
Position:是一个可选项设置,指弹出窗口相对于目标控件的位置,它的取值有:Left、Right、Top、Bottom、Center。
CommitProperty:是一个可选项设置,用于把弹出框的返回结果赋给控件相应属性的属性名称。
CommitScript:是一个可选项设置,在设置弹出框返回的结果后执行的附加脚本。
OffsetX/OffsetY:相对于弹出窗口默认位置再偏移一定像素点数作为它的弹出位置,这个偏移量由该属性设置,单位是像素点数。
接下来,我们完成postback的方法,
[System.Web.Services.WebMethodAttribute(), System.Web.Script.Services.ScriptMethodAttribute()]
public static string GetDynamicContent(string contextKey)
{
StringBuilder sTemp = new StringBuilder();
TerritoriesBLL oTerritories = new TerritoriesBLL();
Northwind.EmployeeTerritoriesDataTable ts = oTerritories.SelectTerritories(Convert.ToInt32(contextKey));
if (dt.Rows.Count > 0)
{
sTemp.Append("<table>");
sTemp.Append("<tr><td><b>Territories:</b></td></tr>");
foreach (Northwind.EmployeeTerritoriesRow t in ts)
{
sTemp.Append("<tr><td>" + t.Territory + "</td></tr>");
}
sTemp.Append("</table>");
}
else
sTemp.Append("<i>This employee covers no territories...</i>");
return sTemp.ToString();
}
在文中,只不过用将detail的信息数据返回,然后组织成简单的字符串的形式而已了
最后,由于我们是想实现当鼠标移动到某一条记录旁边的一个图时,用一个pannel显示出其详细信息框,因此要在gridview的
row_created事件中写入
protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
Image i = (Image)e.Row.Cells[1].FindControl("Image1");
i.Attributes.Add("onmouseover", "Panel1.style.display='inline';this.click();");
i.Attributes.Add("onmouseout", "Panel1.style.display='none';");
}
}
表示如果是datarow的话,则往其中每一行记录旁的图形(文中每行的记录,都有个图片image1)的onmouseover,onmouseout事件里添加相关的javascript事件,这里会把要显示detail记录的panel框显示出来,同时会调用image1的click()事件,而click()事件的调用则会回调GetDynamicContent方法,取得ajax postback()后返回的数据了
发表评论
-
.NET 嵌入式版4.2发布:关键更新抢先看
2012-02-22 14:57 1841作为.NET家族的一员,.Net Micro Framewor ... -
asp.net中模拟测试smtp发信
2011-03-20 18:47 1879在asp.net 中,有时要测试发信SMTP,但如果在单元测试 ... -
vs.net 2010两个数据库方面的好工具
2011-02-14 11:47 1853今天发现vs.net 2010在处理数据库方面的两个不错的工具 ... -
将gridview导出到excel,world,pdf的小结
2011-02-07 22:47 2959下面小结下把gridview的数据导出到excel,world ... -
gridviewtips1:gridview的页脚中的加亮显示和页数显示
2011-01-27 09:58 2361在asp.net 中,要经常显示gridview中的页数,并且 ... -
asp.net 4中的HTML过滤的一个新特性
2011-01-21 09:47 1862在asp.net 4中,有个新增加的对HTML过滤,防止XSS ... -
在vs.net 2010中使用重构方法
2011-01-20 16:55 2162在vs.net 2010中,可以很方便地对一些冗余的代码进行重 ... -
一个比较好的.net 3.5的异常报告类
2011-01-10 14:51 1951发现了一个比较好的异常报告类,其中用到了.net 3.5以上的 ... -
asp.net 4.0中menu菜单的改进
2011-01-03 22:47 2573在asp.net 3.5时,如果用menucontrol时,使 ... -
asp.net 4中的新特性之一:控制URL长度
2010-09-14 23:06 2391asp.net 4中的新特性之一:控制URL长度。在ASP.N ... -
vs.net 2010中使用code snippets
2010-09-09 20:58 1579其实在vs.net 2010中,使用code snippets ... -
百万开发者拥戴!七大.NET著名开源项目
2010-09-07 09:42 2289新翻译了篇帖子,原文发表在 http://publish.i ... -
asp.net 2010中jquery调用webservice
2010-08-30 22:21 2757在asp.net 2010中,在建立web应用时,默认已经在s ... -
.net中的placeholder控件
2005-01-15 20:00 1933最近留意到有人问,NET中的placeholder控件用来做什 ... -
asp.net 中一次性更新DATAGRID中所有记录
2005-01-15 20:03 946在asp.net中,如何一次性 ... -
在asp.net 中实现只允许数字输入的文本框
2005-01-15 20:18 1494在asp.net 中实现只允许数字输入的文本框,其实是十分简单 ... -
一个重构代码的小技巧
2005-01-16 21:58 1140刚开始接触重构,听就听的多了,理论没认真看过,不过今天发现,将 ... -
防止SQL注入攻击
2005-02-05 14:42 1148看了本期ASP。NET杂志里的一篇讲防止SQL注入攻击的文章, ... -
优秀.net 控件包介绍
2005-02-18 19:47 1681在oday上看到得,将介绍摘录在这里 NetAdvantage ... -
vs.net 2005中的ConfigurationManager
2005-05-06 18:11 1638vs.net 2005中的ConfigurationManag ...
相关推荐
在Asp页面中实现一个弹出面板,非常经典的一个小例子,能帮助你快速理解这个控件的应用!
28 PopupControlExtender 29 PopupExtender 给任意控件添加一个需要弹出的控件或者面板 30 Rating 评级控件 31 ReorderList 任意添加列表内容并更改列表顺序 32 ResizableControlExtender 控件大小改变 33 ...
Ajax控件的使用说明:在前台调用后台的代码! protected void Calendar1_SelectionChanged(object sender, EventArgs e) { PopupControlExtender1.Commit(Calendar1.SelectedDate.ToShortDateString()); } ...
企业数字化转型暨数据仓库(数仓)建设方案.pptx
2024年中国LED切割灯行业研究报告
在当今快速发展的人工智能领域中,一款集成了机器学习、深度学习、神经网络、图神经网络、卷积网络及多层感知机可视化功能的画图工具脱颖而出,成为全球范围内最受欢迎和认可的工具之一。这款工具不仅仅是一个简单的绘图软件,它的设计初衷是为了让复杂的网络结构和算法直观化,从而帮助研究者、学者及开发人员更容易地理解和分享他们的工作。 最令人印象深刻的特色之一是它基于PPT的编辑能力,这允许用户在熟悉的PPT编辑环境中创建、编辑和展示复杂的网络结构。用户可以利用拖拉组件、调整尺寸、修改颜色和形状等功能,无缝地将科研成果或项目展示集成到演示文稿中,极大地提高了工作的效率和表现力。 该工具不仅支持广泛的网络结构和模型,还包含丰富的库和模块,让用户能够轻松自定义和扩展自己的模型。它的用户界面友好、直观,无论是机器学习的新手还是资深研究员,都能快速上手,将精力更多地集中在创新和研究上,而不是图形的绘制和编辑上。 此外,它强大的共享和合作功能,使得团队成员可以实时共享他们的成果,促进了知识的交流和项目的进展。这款工具不仅改善了人工智能领域内部的工作方式,也为更广泛的受众提供了学习和理解复杂算法的窗口。 总
2024年中国B型超声诊断设备行业研究报告
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
内容概要:通过带着读者手写简化版 ajax请求框架,了解网络请求核心原理。在手写ajax的过程中会摘取整体框架中的核心逻辑,简化代码实现过程,保留核心功能,例如:XMLHttpRequest、jsonp请求、作用域、资源处理等内容实现。 适用人群:具备一定编程基础,工作1-3年的大前端开发、网络安全的研发人员 适用场景:金融支付、设备识别、IP 限制、网络监控、技术测试 能学到什么:手写ajax请求、兼容jsonp请求、动态添加meta标签、动态获取本地ip、处理403网络请求报错。 阅读建议:可以在以下框架中使用:react、react-native、vue、javaScript、web、jquery框架。在webapp工程,获取终端ip 获取本地ip 获取本机ip地址,403报错解决方案。
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
Stm32学习笔记,超详细
halcon 3D图像重建。
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
虚拟网卡库,Python或者C都可以调用,虚拟网卡
IEC 60364-7-721-2017 低压电气装置.第7-721部分:特殊装置或场所的要求.房车和机动房车中的电气装置.pdf
BS 1363-1-2023 :13A插头、插座、适配器和连接装置第1部分:可重新布线和不可重新布线的13A保险丝插头规范.pdf
平安业研一体 BizDevOps—降本增效与业务价值最大化实践-龚明杰
大学生,数学建模,美国大学生数学建模竞赛,MCM/ICM,历年美赛特等奖O奖论文
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。