如何处理确认删除的刷屏问题
2007-07-26 22:12
316 查看
在.net中,DataGrid控件是比较常用的一个,而以下的情况也是比较常见的,就是一个DataGrid,每一项的后面都有一个删除的图标或按钮,点击删除后一般要提示是否确认删除,而如果确认删除后,现在的页面会自动刷新,显得比较难看。下面介绍一下我对这个问题的处理方法:
现在有一个List.aspx页:
在<HEAD></HEAD>之间加入如下的脚本:
<script language="javascript">
function Delete(Id)
{
if(confirm('确定删除吗?'))
{
var id = Id;
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP.3.0");
xmlhttp.open("get","del.aspx?id=" + id,false);
xmlhttp.send();
var msg = xmlhttp.responseText.split("##")[0];
alert(msg);
window.location = "List.aspx";
}
}
</script>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<TABLE id="Table1" cellSpacing="0" cellPadding="0" width="100%" align="center" border="0">
<TR>
<td align="left">
日期:
<asp:textbox id="sj1" runat="server" BorderStyle="Groove" MaxLength="12" Width="80px" onclick="popUpCalendar(this,sj1,'yyyy-mm-dd');return false;"></asp:textbox>
-
<asp:textbox id="sj2" runat="server" BorderStyle="Groove" MaxLength="12" Width="80px" onclick="popUpCalendar(this,sj2,'yyyy-mm-dd');return false;"></asp:textbox>
<asp:Button id="btSearch" runat="server" Text="查询"></asp:Button>
<asp:button id="btAdd" runat="server" Text="新增记录"></asp:button></td>
</TR>
<TR>
<TD><asp:datagrid id="DGCost" runat="server" PageSize="15" AllowPaging="True" Width="100%" CellPadding="4"
BackColor="White" BorderWidth="1px" BorderStyle="None" BorderColor="#CC9966" AutoGenerateColumns="False">
<FooterStyle ForeColor="#330099" BackColor="#FFFFCC"></FooterStyle>
<SelectedItemStyle Font-Bold="True" ForeColor="#663399" BackColor="#FFCC66"></SelectedItemStyle>
<AlternatingItemStyle HorizontalAlign="Center"></AlternatingItemStyle>
<ItemStyle HorizontalAlign="Center" ForeColor="#330099" BackColor="White"></ItemStyle>
<HeaderStyle Font-Bold="True" HorizontalAlign="Center" ForeColor="#FFFFCC" BackColor="#990000"></HeaderStyle>
<Columns>
<asp:TemplateColumn HeaderText="日期">
<ItemTemplate>
<a href='Edit.aspx?id=<%# DataBinder.Eval(Container, "DataItem.id") %>' title='<%# DataBinder.Eval(Container, "DataItem.Note") %>'>
<%# DataBinder.Eval(Container, "DataItem.SubDate") %>
</a>
</ItemTemplate>
</asp:TemplateColumn>
<asp:BoundColumn DataField="ClothesCost" HeaderText="服饰"></asp:BoundColumn>
<asp:BoundColumn DataField="FoodCost" HeaderText="食品"></asp:BoundColumn>
<asp:BoundColumn DataField="SockCost" HeaderText="零食"></asp:BoundColumn>
<asp:BoundColumn DataField="WaterCost" HeaderText="水"></asp:BoundColumn>
<asp:BoundColumn DataField="ElecCost" HeaderText="电"></asp:BoundColumn>
<asp:BoundColumn DataField="LeisureCost" HeaderText="娱乐"></asp:BoundColumn>
<asp:BoundColumn DataField="BusCost" HeaderText="乘车"></asp:BoundColumn>
<asp:BoundColumn DataField="ElectricCost" HeaderText="电子产品"></asp:BoundColumn>
<asp:BoundColumn DataField="OtherCost" HeaderText="其他"></asp:BoundColumn>
<asp:TemplateColumn HeaderText="合计">
<ItemTemplate>
<asp:TextBox ID=lbDayAll Width=50px BorderWidth=0 runat="server" Text='<%# GetDayAll(DataBinder.Eval(Container,"DataItem.id").ToString())%>'>
</asp:TextBox>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="修改">
<ItemTemplate>
<a href='Edit.aspx?id=<%# DataBinder.Eval(Container,"DataItem.id")%>'><img src="../../Images/update.gif" border="0" alt="修改"></a>
</ItemTemplate>
<EditItemTemplate>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="删除">
<ItemTemplate>
<IMG alt="删除" src="../../Images/delete.gif" border="0" onclick='Delete(<%# DataBinder.Eval(Container,"DataItem.id")%>)'>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
<PagerStyle HorizontalAlign="Center" ForeColor="#330099" BackColor="#FFFFCC" Mode="NumericPages"></PagerStyle>
</asp:datagrid></TD>
</TR>
</TABLE>
</form>
</body>
del.aspx.cs如下:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
namespace FamilyFinance.Source.DayCost
{
/// <summary>
/// del 的摘要说明。
/// </summary>
public class del : System.Web.UI.Page
{
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
FinanceClasses.DayCost daycost = new FinanceClasses.DayCost();
daycost.Id = int.Parse(Request["id"].ToString());
if(daycost.Delete()>0)
{
Response.Write("删除成功!##");
}
else
{
Response.Write("删除失败,请联系管理员确定原因!##");
}
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
}
}
按照以上的处理方式,比较好的解决了刷新比较明显的问题,提供给大家做一个参考。如果有更好的解决办法,还请不吝赐教!
现在有一个List.aspx页:
在<HEAD></HEAD>之间加入如下的脚本:
<script language="javascript">
function Delete(Id)
{
if(confirm('确定删除吗?'))
{
var id = Id;
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP.3.0");
xmlhttp.open("get","del.aspx?id=" + id,false);
xmlhttp.send();
var msg = xmlhttp.responseText.split("##")[0];
alert(msg);
window.location = "List.aspx";
}
}
</script>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<TABLE id="Table1" cellSpacing="0" cellPadding="0" width="100%" align="center" border="0">
<TR>
<td align="left">
日期:
<asp:textbox id="sj1" runat="server" BorderStyle="Groove" MaxLength="12" Width="80px" onclick="popUpCalendar(this,sj1,'yyyy-mm-dd');return false;"></asp:textbox>
-
<asp:textbox id="sj2" runat="server" BorderStyle="Groove" MaxLength="12" Width="80px" onclick="popUpCalendar(this,sj2,'yyyy-mm-dd');return false;"></asp:textbox>
<asp:Button id="btSearch" runat="server" Text="查询"></asp:Button>
<asp:button id="btAdd" runat="server" Text="新增记录"></asp:button></td>
</TR>
<TR>
<TD><asp:datagrid id="DGCost" runat="server" PageSize="15" AllowPaging="True" Width="100%" CellPadding="4"
BackColor="White" BorderWidth="1px" BorderStyle="None" BorderColor="#CC9966" AutoGenerateColumns="False">
<FooterStyle ForeColor="#330099" BackColor="#FFFFCC"></FooterStyle>
<SelectedItemStyle Font-Bold="True" ForeColor="#663399" BackColor="#FFCC66"></SelectedItemStyle>
<AlternatingItemStyle HorizontalAlign="Center"></AlternatingItemStyle>
<ItemStyle HorizontalAlign="Center" ForeColor="#330099" BackColor="White"></ItemStyle>
<HeaderStyle Font-Bold="True" HorizontalAlign="Center" ForeColor="#FFFFCC" BackColor="#990000"></HeaderStyle>
<Columns>
<asp:TemplateColumn HeaderText="日期">
<ItemTemplate>
<a href='Edit.aspx?id=<%# DataBinder.Eval(Container, "DataItem.id") %>' title='<%# DataBinder.Eval(Container, "DataItem.Note") %>'>
<%# DataBinder.Eval(Container, "DataItem.SubDate") %>
</a>
</ItemTemplate>
</asp:TemplateColumn>
<asp:BoundColumn DataField="ClothesCost" HeaderText="服饰"></asp:BoundColumn>
<asp:BoundColumn DataField="FoodCost" HeaderText="食品"></asp:BoundColumn>
<asp:BoundColumn DataField="SockCost" HeaderText="零食"></asp:BoundColumn>
<asp:BoundColumn DataField="WaterCost" HeaderText="水"></asp:BoundColumn>
<asp:BoundColumn DataField="ElecCost" HeaderText="电"></asp:BoundColumn>
<asp:BoundColumn DataField="LeisureCost" HeaderText="娱乐"></asp:BoundColumn>
<asp:BoundColumn DataField="BusCost" HeaderText="乘车"></asp:BoundColumn>
<asp:BoundColumn DataField="ElectricCost" HeaderText="电子产品"></asp:BoundColumn>
<asp:BoundColumn DataField="OtherCost" HeaderText="其他"></asp:BoundColumn>
<asp:TemplateColumn HeaderText="合计">
<ItemTemplate>
<asp:TextBox ID=lbDayAll Width=50px BorderWidth=0 runat="server" Text='<%# GetDayAll(DataBinder.Eval(Container,"DataItem.id").ToString())%>'>
</asp:TextBox>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="修改">
<ItemTemplate>
<a href='Edit.aspx?id=<%# DataBinder.Eval(Container,"DataItem.id")%>'><img src="../../Images/update.gif" border="0" alt="修改"></a>
</ItemTemplate>
<EditItemTemplate>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="删除">
<ItemTemplate>
<IMG alt="删除" src="../../Images/delete.gif" border="0" onclick='Delete(<%# DataBinder.Eval(Container,"DataItem.id")%>)'>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
<PagerStyle HorizontalAlign="Center" ForeColor="#330099" BackColor="#FFFFCC" Mode="NumericPages"></PagerStyle>
</asp:datagrid></TD>
</TR>
</TABLE>
</form>
</body>
del.aspx.cs如下:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
namespace FamilyFinance.Source.DayCost
{
/// <summary>
/// del 的摘要说明。
/// </summary>
public class del : System.Web.UI.Page
{
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
FinanceClasses.DayCost daycost = new FinanceClasses.DayCost();
daycost.Id = int.Parse(Request["id"].ToString());
if(daycost.Delete()>0)
{
Response.Write("删除成功!##");
}
else
{
Response.Write("删除失败,请联系管理员确定原因!##");
}
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
}
}
按照以上的处理方式,比较好的解决了刷新比较明显的问题,提供给大家做一个参考。如果有更好的解决办法,还请不吝赐教!
相关文章推荐
- 计划不详细,出现问题,QA无法跟踪和确认,如何处理?
- 如何处理C++删除容器中元素时导致的迭代器失效问题
- 如何处理Oracle客户端查询乱码问题
- 关于如何处理MyEclipse中struts2与Hiber 3中antlr-2.7.2.jar与antlr-2.7.6包冲突的问题
- 每一个程序员都应该知道的高并发处理技巧、创业公司如何解决高并发问题、互联网高并发问题解决思路、caoz大神多年经验总结分享
- GridView 删除确认 问题?
- C#.NET常见问题(FAQ)-如何捕捉窗体关闭的事件,弹窗确认是否退出
- C#.NET常见问题(FAQ)-如何让TabControl可以动态增加或删除
- struts1.2原理:什么是struts,如何处理配置文件的大的问题?
- 如何处理监控类直播中遇到的奇葩问题【干货】
- 如何解决java.sql.Statement无法处理特殊字符以及容易被黑问题
- java如何处理linux名字乱码批量重命名问题
- 如何在GridView中添加CheckBox控件列,添加删除确认对话框
- 转载--SQL还原数据库后孤立用户问题处理(SQL 数据库 拥有对象 无法删除)
- 如何配置IIS处理多并发请求及存在的问题
- 如何处理Tableview中cell的单选问题
- ubuntu下如何处理出现“ unable to execute ./DrClientLinux: No such file or directory”,“没有那个文件或目录”的问题。
- 【转】GridView中如何使用CommandField删除时,弹出确认框?
- [转载]GridView中如何使用CommandField删除时,弹出确认框?
- RabbitMQ确认机制问题处理