所有‘Asp.net’分类中的文章
在Asp.net开发中,浏览器刷新重复触发事件,导致重复提交的问题,下面有几种解决方法,我针对适用情况和利弊做一个简单的分析。 方法一:检测数据表,看是否有相同的数据。这种方法对插入数据可能意义更大些,不过如何定义是相同的数据,是个麻烦的事。同时,如果不是插入数据,是删除呢,就不适用了。 方法二:提交后,转向一个过渡页面,然后再从过渡页面返回到当前的页面。这就要求在提交后,要把当前页面的URL地址作为参数传过去,同时不能保存缓存,否则“后退”带来不良后果。不过,如果是简单的删......[阅读全文]
让GridView中CheckBox列支持FireFox
2008-07-08 – 17:48
在Asp.net中,可以通过模板列,在Gridview中实现CheckBox列的实现,相关的代码并不复杂,你可以参考这里,我抽取的部分代码如下: <script language=”javascript” type=”text/javascript”> function selectAll(obj) { var theTable = obj.parentElement.parentElement.parentElement; var i; var j = obj.parentElement.cellIndex; for(i=0;i<t......[阅读全文]
WebResponse 跨域访问
2008-07-07 – 11:10
前两天,一个朋友让我帮他写这样一个程序:在asp.net里面访问asp的页面,把数据提交对方的数据库后,根据返回的值(返回值为:OK或ERROR),如果为OK再把填入本地数据库。当时,想当然,觉得很简单,用js的xmlhttp ,如果根据response 的值是“OK”就执行提交本地数据库。很快写完发过去,让朋友试试,一试发现不行,后来一问,原来是跨域访问,我给忽略了,于是让朋友把asp改成web service,可朋友说程序是合作公司做的,只会asp,不会用web service ,狂晕ing。没办法,只能请出asp.net的 WebResponse了,很多网站采集程序都是用......[阅读全文]
备忘:base 标签和ShowModalDialog 、showModelessDialog
2008-01-24 – 13:55
在是用ShowModalDialog 弹出子窗体中在标签后,加入后,对于子窗体: 1、POSTBACK后不会打开新窗体。 2、使用window.open()关闭窗体避免弹出另外一个同样的窗口。 —————————————————– 附:showModalDialog()、showModelessDialog()方法使用详解 Javascript有许多内建的方法来产生对话框,如:window.alert(), window.confirm(),window.prompt().等。 然而IE提供更多的方法支持对话框。如: showModalDialog() (IE 4+ 支持) showModelessDialog() (IE 5+ 支持) window.showModalDialog()方法用来创建一......[阅读全文]
在gridview和datagrid里设置列宽
2008-01-16 – 17:51
无论是gridview还是datagrid,在绑定数据后,列宽都不是固定的,在设计时是没法设定的,只能通过绑定是触发的事件来重新设定。参考http://msdn2.microsoft.com/zh-cn/library/ms178296(VS.80).aspx 的解释. gridview的代码: protected int widestData; protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) { System.Data.DataRowView drv; drv = (System.Data.DataRowView)e.Row.DataItem; if (e.Row.RowType == DataControlRowType.DataRow) { if (drv != null) { String catName = drv[1].ToString(); Response.Write(catName + "/"); int catNameLen = catName.Length; if (catNameLen > widestData) { widestData = catNameLen; GridView1......[阅读全文]
在GRIDVIEW中合并单元格
2007-12-18 – 12:02/// <summary> /// 合并GridView列中相同的行 /// </summary> /// <param name=”GridView1″>GridView对象</param> /// <param name=”cellNum”>需要合并的列</param> public static void GroupRows(GridView GridView1, int cellNum) { int i = 0, rowSpanNum = 1; while (i < GridView1.Rows.Count – 1) { GridViewRow gvr = GridView1.Rows[i]; for (++i; i < GridView1.Rows.Count; i++) [...]
[阅读全文]创建控件时出错/lm/w3svc/… 不是一个有效的iis应用程序” 的解决办法
2007-12-13 – 11:32创建控件时出错/lm/w3svc/… 不是一个有效的iis应用程序” 的解决办法 环境:vs2005,asp.net web 应用程序(项目),IIS作为发布服务器 导致原因:是项目的属性配置中,“服务器”的设置中与IIS中的虚拟目录不一致导致。 解决办法:按项目属性的中的“服务器”设置,重新设置IIS的中虚拟目录.具体的做法如下: 在iis去掉有关的虚拟目录,然后在项目属性的中的“服务器”设置,“创建虚拟目录”即可。 本文地址:http://www.watch-life.net/aspnet/iis-contorl-err.html
[阅读全文]遍历页面上的所有控件
2007-11-20 – 11:29
/// <summary> /// 采用递归的方法来遍历页面控件 /// </summary> /// <param name=”parent”></param> protected void ErgodicChildrenControls(Control parent) { foreach (Control c in parent.Controls) { //此处写有关控件的代码,例如 //if (c is HtmlInputButton) // { // HtmlInputButton btn = (HtmlInputButton)c; // if (c.id ==”save&......[阅读全文]
如何不使用让menu控件不回发(postback)
2007-11-08 – 11:25
写网站首页程序的导航,要用asp.net2.0 的下menu控件,因为绑定数据库十分方便,不过有个问题,就是我采用的iframe来跳转页面,不想整个首页都跳转,不过发现menu控件没有控制回发的属性,每单击就回发一次,挺麻烦的。后来想到一个曲折来实现的办法,在text属性上做文章,代码如下: index.aspx页面: ….. <script language=javascript> function OpenNewWindow(strUrl) { document.all.UrlRedirect.src = strUrl; } </script> <asp:Menu ID=”Menuindex” runat=”server” Orientation=”Horizontal” > ......[阅读全文]
比较郁闷的textbox(asp.net 2.0)控件
2007-11-07 – 11:20
今天转一个asp.net程序从vs2003到vs2005,老报错,postback后取不到textbox控件的改变的值,在vs2003下完全正常,在vs2005下就是不行,搞了一上午都不知为啥,于是上网查查,原来是textbox控件的readonly属性做的怪,真的郁闷.asp.net2.0 的这种改动让人无法理解。解决方法详见如下: (http://blog.joycode.com/saucer/archive/2006/05/11/75741.aspx) 有时候,我们不希望用户直接编辑TextBox,而是希望通过客户端脚本的方式来设置内容,一般的做法是设置TextBox的属性ReadOnly为true。但在ASP.NET 2.0里有了变化,设置了ReadOnly为true的TextBox,在服务器端不能通......[阅读全文]

