所有‘Asp.net’分类中的文章


防止刷新重复提交数据解决方法的分析


在Asp.net开发中,浏览器刷新重复触发事件,导致重复提交的问题,下面有几种解决方法,我针对适用情况和利弊做一个简单的分析。 方法一:检测数据表,看是否有相同的数据。这种方法对插入数据可能意义更大些,不过如何定义是相同的数据,是个麻烦的事。同时,如果不是插入数据,是删除呢,就不适用了。 方法二:提交后,转向一个过渡页面,然后再从过渡页面返回到当前的页面。这就要求在提交后,要把当前页面的URL地址作为参数传过去,同时不能保存缓存,否则“后退”带来不良后果。不过,如果是......[阅读全文]

分类: Asp.net | 4 条评论 »

让GridView中CheckBox列支持FireFox


在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;      &n......[阅读全文]

分类: Asp.net | 没有评论 »

WebResponse 跨域访问


前两天,一个朋友让我帮他写这样一个程序:在asp.net里面访问asp的页面,把数据提交对方的数据库后,根据返回的值(返回值为:OK或ERROR),如果为OK再把填入本地数据库。当时,想当然,觉得很简单,用js的xmlhttp ,如果根据response 的值是“OK”就执行提交本地数据库。很快写完发过去,让朋友试试,一试发现不行,后来一问,原来是跨域访问,我给忽略了,于是让朋友把asp改成web service,可朋友说程序是合作公司做的,只会asp,不会用web service ,狂晕ing。没办法,只能请出asp.net的 WebResponse了,很多网站采集程序都是用......[阅读全文]

分类: Asp.net | 1 条评论 »

备忘:base 标签和ShowModalDialog 、showModelessDialog


在是用ShowModalDialog 弹出子窗体中在标签后,加入后,对于子窗体: 1、POSTBACK后不会打开新窗体。 2、使用window.open()关闭窗体避免弹出另外一个同样的窗口。 —————————————————– 附:showModalDialog()、showModelessDialog()方法使用详解 Javascript有许多内建的方法来产生对话框,如:window.alert(), window.confirm(),window.prompt().等。 然而IE提供更多的方法支持对话框。如:   showModalDialog() (IE 4+ 支持)   showModelessDialog() (IE 5+ 支持......[阅读全文]

分类: Asp.net | 没有评论 »

在gridview和datagrid里设置列宽


无论是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)
{
[...]

[阅读全文]

分类: Asp.net | 2 条评论 »

在GRIDVIEW中合并单元格


///   <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++......[阅读全文]

分类: Asp.net | 没有评论 »

创建控件时出错/lm/w3svc/… 不是一个有效的iis应用程序” 的解决办法


创建控件时出错/lm/w3svc/… 不是一个有效的iis应用程序” 的解决办法

环境:vs2005,asp.net web 应用程序(项目),IIS作为发布服务器
导致原因:是项目的属性配置中,“服务器”的设置中与IIS中的虚拟目录不一致导致。

解决办法:按项目属性的中的“服务器”设置,重新设置IIS的中虚拟目录.具体的做法如下:
在iis去掉有关的虚拟目录,然后在项目属性的中的“服务器”设置,“创建虚拟目录”即可。
本文地址:http://www.watch-life.net/aspnet/iis-contorl-err.html

[阅读全文]

分类: Asp.net | 没有评论 »

遍历页面上的所有控件


/// <summary>         /// 采用递归的方法来遍历页面控件         /// </summary>         /// <param name=”parent”></param>         protected void ErgodicChildrenControls(Control parent)         {                         foreach (Control c in parent.Controls)             {                //此处写有关控件的代码,例如                   //if (c is HtmlInputButton)                // {                //    HtmlInputButton btn = (HtmlInputBut......[阅读全文]

分类: Asp.net | 没有评论 »

如何不使用让menu控件不回发(postback)


写网站首页程序的导航,要用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” Ori......[阅读全文]

分类: Asp.net | 没有评论 »

比较郁闷的textbox(asp.net 2.0)控件


今天转一个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,在服务器......[阅读全文]

分类: Asp.net | 没有评论 »