易截截图软件、单文件、免安装、纯绿色、仅160KB

控制Asp.net的Button控件的提交动作

asp.net开发中,通常需要做一些客户端验证。当我们默认在一个页面中加个button控件时,这个Button被asp.net 输出为一个Submit按钮。 asp:Button ID=Button1 runat=server Text=Button on click=Button1_Click /
在_doPostBack方法内,通过theForm.submit()来使数据提交到服务器。
这样很容易看出,如 果我们想要在数据提交到服务器端前做些验证的事情,就要首先在_doPostBack之前做些处理,并使数据验证只有达到了要求 后,才可以调用_doPostBack使数据回传。我们首先给Button加一个 OnClientClick属性,给OnClientClick 属性指定一个JS方法Test():
<asp:Button ID="Button1" OnClientClick="test();" UseSubmitBehavior="false" runat="server"  Text="Button" onclick="Button1_Click" />
JS代码如下:
1: function test()
2: {
3: alert("test");
4: return false ;
5: }
 
再看一下经过服务端解析后输出的控件HTML代码:
<input type="button" name="Button1" value="Button" onclick="test();__doPostBack('Button1','')" id="Button1" />
我们看到test方法执行是在_doPostBack之前,当我们点按钮时, 页面会弹出 test 警告,但是仍然会继续提交数据到服务器。如果不想提交数据到服务器,就要想办法阻止_doPostBack执行。到了这一步,解决办法就很明白了,我们只 需要把onclick变成 test();return;_dopostBack('Button1','')就可以了。如果需要test()方法的判断结果才决定是否提交数据到服 务器,我们需要这样改动 if(!test())return;_dopostBack('Button1','')。
打开aspx源 代码,把OnClientClick改成OnClientClick= "if(!test())return; "我们再看一下HTML的输出:
<input type="button" name="Button1" value="Button" onclick="if(!test())return;__doPostBack('Button1','')" id="Button1" />
运行测试,满足要求。
这只是一种解决办法,还有就是重写 Button,自己控制onclick的输出或者利用验证控件。
还有如下方式也可解决:
---------------------------------------------------------------------------------------------------------------
一个页面,有一个文本框和一个提交按钮,同时有一个验证控件来验证文本框中的输入,单击BUTTON时同时要触发一个javascript 脚本。
在PageLoad中加入:Button1.Attribute.Add("onclick","return CheckOther()");
运行时提示发生脚本错


相关文档:

ASP.NET Cookie使用(转)

1.什么是cookie?
cookie 是一小段文本信息,伴随用户请求,在web服务器和浏览器之间传递。用户每次访问站点的时候,
web应用程序都可以读取cookie包含的信息。
假设在用户请求您的网站的某个页面时,您的应用程序不仅是返回请求的页面。同时也返回一个包含日期
和时间的cookie。用户的浏览器在获得页面的同时也获得了 ......

ASP.Net五种缓存机制

Application
1.Application用来保存所有用户共用的信息
2.在Asp时代,如果要保存的数据在应用程序生存期内不会或者很少发生改变,那么使用Application是理想的选择。但是在Asp.net开发环境中我们把类似的配置数据放在Web.config中。
3.如果要使用Application 要注意的是所有的写操作都要在Application_OnStart事件中完成 ......

asp.net 存储过程分页字段排序

最近在asp.net 用到的sqlserver存储过程分页中显示数据时遇到关于排序问题。
网上的一些分页存储过程只支持排序列为int 类型,对于实际开发中很多时候都需要对DateTime类型,varchar类型进行排序。
下面分享一下可以支持任意数据类型的列进行排序的存储过程。
Create PROCEDURE  sp_viewByPage
@TblName  var ......

asp.net控制网站分辨率

控制网站分辨率 我们可以 用 frameset
虽然 asp.net不支持这个属性 但是功能是可以实现的
如 :
<frameset name="main" rows="105,*" frameborder="no" border="0" framespacing="0">
  <frame src="xx.aspx" name="topFrame" scrolling="No" noresize="noresize" id="topFrame" title="topFrame" /> ......

asp.net 开发常用的方法一

总结asp.net开发常用的方法一
using System;
using System.Globalization;
using System.Text;
using System.Text.RegularExpressions;
using System.Collections;
using System.IO;
namespace MoneyWise
{
/// <summary>
/// utils 的摘要说明。
/// </summary>
public class utils
{
pr ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号