当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > 实现HtmlButton客户端控制网页提交

ASP.NET
Check Your Internet Connection With C#
Essential .NET读书笔记
可用来显示空值的时间选择控件3
学习Keny boy sps区域列表的管理入口程序
[译]Visual Basic 2005在语言上的增强(十)应用程序级别事件
什么时候应该使用 ==?什么时候应该使用 Equals?
“String.Equals(string)”和“==”那个快?
应用ADO.net得到系统表信息
不会被其他窗体遮挡的抓图,使用API的PrintWindow函数
关于.net下服务安装
水晶报表4.6的使用示例
超大正整数加法与乘法最笨方法实现
实现web页面的局部刷新
动态生成带事件的MsFlexGrid
一些codedom的资料。
WML教程3:任务与导航-赋值与数据交换
WML教程7:WML的事件
WML教程10:分组选择控件(Optgroup)和复杂实例
WML教程5:任务和任务屏蔽
VS.NET安装部署深入研究

ASP.NET 中的 实现HtmlButton客户端控制网页提交


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 243 ::
收藏到网摘: n/a

    我们知道,在Asp.net中适当的使用Html控件有许多方便之处,Html控件既能在客户端进行脚本处理,又能在网页提交至服务器后在cs文件中控制,如果用单独的Web服务器控件则不能做到这一点,限制了我们开发的灵活性.因此我们会在好多地方会使用到HtmlButton控件.下面就谈谈该控件一个使用的小技巧:
如果要点击HtmlButton后使网页提交,我们会选择将该HtmlButton作为服务器控件运行.这样做每次点击HtmlButton都会使页面提交至服务器,但如果我们需要在点击按钮之后在客户端做一些处理,然后再选择是否使网页提交,按照一般的处理方法,似乎HtmlButton无能为力了,但是我们分析一下HtmlButton在网页运行后生成的Html,生成Html如下:

<input language="javascript" onclick="__doPostBack('clientbutton','')" name="clientbutton" id="clientbutton" type="button" style="Z-INDEX: 101; LEFT: 168px; POSITION: absolute; TOP: 80px" value="Button" />
我们看到生成的Html给按钮添加了一下onclick事件,从而使网页提交,那明白它的执行过程,我们就知道该怎么做了,如果我们在__doPostBack('clientbutton','')执行之前,给按钮加一客户端操作再决定是否提交这们不就满足我们的需求了,大家明白实现原理了,我就不讲那么罗琐了,下面我就说怎样实现了:

1 我们在后台cs文件中给HtmlButton加属性,其中clientbutton为HtmlButton为id,clientoper为客户端javascript function. clientbutton.Attributes.Add("onclick","if(!clientoper()){return;}");
该话句一般放在网页加载事件中.
2 客户端添加clientoper方法,执行您需要的操作,操作完成之后根据返回值决定是否需要提交,返回true网页提交,false则不提交.
<script language=javascript>
function clientoper()
{
//这里可以执行客户端操作,比如验证之类的
//这里判断是否提交
var result=window.confirm("您确认要提交吗?");
if(result)
{
return true;
}
else
{
return false;
}
}
</script>
方法也很简单,相信朋友们一看就明白了,说到这有朋友问了,可这只适用于HtmlButton,按钮,多死板,如果想用图片做按钮怎么办,方法当然有,也不需要修改什么,研究一下按钮的css样式就满足你的需要了!