所有‘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;
&n......[阅读全文]
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+ 支持......[阅读全文]
在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)
{
[...]
在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 = (HtmlInputBut......[阅读全文]
如何不使用让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” Ori......[阅读全文]
比较郁闷的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,在服务器......[阅读全文]

