All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
Silverlight,2(beta1)数据操作(7)—调用FlickR,REST,APIs来询图片_[Asp.Net教程]
SQL之更多的子查询_[SQL,Server教程]
访问本机IIS站点被要求输入用户名和密码_[Asp.Net教程]
asp.net2.0服务器控件之ListBox控件
调用存储过程并且使用返回值的基本方法_[SQL,Server教程]
C#中继承窗体概述及创建
使用javascript脚本控制网页Table的显示隐藏_JavaScript技术_编程技术
整理:Apache+MySql+PHP的快速安装_php资料_编程技术
Delphi在状态栏中显示检查框
让PHP支持断点续传文件_[PHP教程]
Reading number is top 10 pictures
A resort photographed beautiful young woman change clothes process vomiting blood1
Nine school beauty star those gossip matters
清扫五脏垃圾,我有绝招
代沟,真好
China railway shunting skills competition
yy365网站上的美女2
9.3阅兵全景图7-指挥系统和后勤保障系统梯队
美奂绝伦的风景
On the verge of extinction of the beach1
Go to the national museum1
Download software ranking
Tram sex maniac 2 (H) rar bag4
jdk1.5
Such love down(擒爱记)
徐若瑄成名作“魔鬼天使”
Twenty piece of palm leaf
matrix3
Unix video tutorial10
jdk1.6 for windows
电脑知识及技巧大合集
The king of fighters 97(Mobile phone games-apk)
归海一刀 published in(发表于) 2014/1/30 1:16:29 Edit(编辑)
2个ASP.NET小技巧_[Asp.Net教程]

2个ASP.NET小技巧_[Asp.Net教程]

2个ASP.NET小技巧_[Asp.Net教程]
1. ASP.NET AJAX 中,如何用 JavaScript 调用服务器端的方法?
这里不是指调用简单的 PageMethod,因为静态方法是不能操作当前页面的控件的,所以静态的 PageMethod 作用就跟普通的 WebService 一样,比较局限。
那么,调用一般的服务器端方法,其实就是发起一个异步回调。最简单的实现办法,是通过 UpdatePanel 来做。
首先定义一个隐藏的 LinkButton,在其处理事件中,去调用我们要执行的操作:




// 刷新帖子列表(供客户端 js 调用)

protected
void linkUpdatePosts_Clicked(object sender, EventArgs e)
{
LoadPosts();
}

然后 JavaScript 中就可以定义函数来触发这个 LinkButton 的回发:

// 刷新帖子列表
function refreshPosts() {
__doPostBack('<%= linkUpdatePosts.UniqueID %>','');
}


2. 如何获取 GridView 编辑状态下单元格里的值?
还在使用这样的代码吗?


var txtName = grid1.Rows[e.RowIndex].Cells[0].FindControl("txtName") as TextBox;
if (txtName !=
null)
{
// 读取值
//

}

其实这些工作(在单元格中查找控件,并尝试获取其中的值)已经被封装了。现在,只要调用 ExtractValuesFromCell 方法即可。
而该方法也被很多种列类型所支持:
DataControlField, BoundField, AutoGeneratedField, CheckBoxField, ImageField, TemplateField, DynamicField 你可以在 GridView 的 RowUpdating, RowDeleting 等事件中使用它。利用该方法,可以将值提取到所需的字典里去,然后再从字典中读取。这些字典包括:e.Keys, e.NewValues, e.OldValues 等。
一小段例子代码:


// 更新

protected
void grid1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
var row = grid1.Rows[e.RowIndex];
// 提取 Id 字段的值
grid1.Columns[0].ExtractValuesFromCell(
e.Keys,
row.Cells[0] as DataControlFieldCell,
DataControlRowState.Edit,
true
/* include readonly */);

// 提取 Name 字段的值
grid1.Columns[1].ExtractValuesFromCell(
e.NewValues,
row.Cells[1] as DataControlFieldCell,
DataControlRowState.Edit,
true
/* include readonly */);

var id =
int.Parse(e.Keys["id"].ToString());
var name = (string) e.NewValues["name"];

// 执行相关的数据库更新操作
//

}


这样,在大多数场合我们可以尽可能多的使用 BoundField,并且也能正确读取到其编辑时的值,省下自定义 TemplateField 的一堆代码了。


添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.