GridView的第一列是ButtonField,字段名是"删除",想一点之后弹出确认框,否则返回.应该如何写? GridView的第一列是ButtonField,字段名是"删除",想一点之后弹出确认框,点确认则继续操作,否则返回.应该如何写?听人说应该是JavaScrip语句,不过我不会............只有这些分了,请诸君相助. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 把删除改成<div onclick="javascript:return confirm('真的要删除吗?');">删除</div> protected void gvGgl_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { LinkButton delButton = (LinkButton)e.Row.Cells[0].Controls[0]; delButton.Attributes.Add("onclick", "return confirm('你确认删除吗?');"); } }注意把CommandName设为Delete,要想成功删除,请自己写一个删除事件对应的方法 private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e) { e.Item.Cells[0].Attributes.Add("onClick","return confirm('你确定要删除这一项吗?');"); } 用GridView了,证明你用VS2005了吧。恭喜,那么实现你说的功能,可以不用编写代码。1、点击GridView的快捷箭头,选‘编辑列’。2、加入一个ButtonFiled,在右边的属性框里设置HeadText(用以显示),定义一个CommandName(用以你点击以后触发的动作)3、点右下角的‘转化为模版列’,ok。4、右击GridView,‘编辑模版’--‘Column[..]--你之前定义的HeadText’,ItemTemplate里看见你的按钮了吗?点中,属性里有一项‘OnClientClick’,把“javascript:return confirm('真的要删除吗?');”粘贴进去。5、搞定你需要的功能了。6、如果你想点击按钮触发其他事件,可以在RowCommand事件里详细写protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e){ if (e.CommandName == "MyBtnClicked")//前面你定义的CommandName { Response.Write("kkk clicked"); }}---------------------呵呵,欢迎使用Vs2005开发Asp.net-------==== ~~~~ 我的Blog:http://blog.csdn.net/quou2002 quou2002(曲欧) ,老兄侠肝义胆,答的如此详细,真是国士风范.可是象老兄那样一改,我就无法用ButtonFiled来在GridView1_RowCommand(object sender, GridViewCommandEventArgs e)里面获取点击所在的行了: int index = Convert.ToInt32(e.CommandArgument); GridViewRow row = GridView1.Rows[index]; ListItem item = new ListItem(); parString = Server.HtmlDecode(row.Cells[2].Text);这个方法好象只有对自已新增列属于ButtonFiled性质的才有效.而上面几位仁兄的方法在试用时都报错.可能是有些要设置的地方我没有设置.恳请诸君救我........ 我最早是用的模版列,但为了获取点击行的位置,改用的ButtonFiled.我个人猜能不能在 switch(e.CommandName ) { case "modify": Response.Redirect("ModifyPostClass.aspx?parTransfer=" + parString); break; case "del": (此处加一条Java语句???????) dbd1.StrTableName = "StationDefineTable"; dbd1.StrSqlWhere = "StationDefineCode = '" + parString + "'";的 case "del":下面直接加一条Java语句来解决问题呢? 恭喜你在继续使用VS2005,你进一步欲实现的功能,也不用编写代码。1、在前面的步骤4中,你在itemTemplate里看见你的按钮右上角的小箭头了吧,verygood,点击‘编辑DataBings’2、看见这一级别的绑定了吗?把 CommandArgument和你想操作的字段绑定吧(右边下拉列表选择)3、ok,现在你可以类似下面方法调用------------------protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e){ if (e.CommandName == "MyBtnClicked") { Response.Write("you wanted " + e.CommandArgument.ToString()); }}------------------你无非就是想取到结果集中的cell里的内容,现在你想得到的内容绑定在CommandArgument里了,你就不用再什么index什么cell[].text了(复杂的cell你还要findcontrol,呵呵)-----------不用编代码,感觉就是好------绑定,无处不在------==== ~~~~ 我的Blog:http://blog.csdn.net/quou2002 quou2002(曲欧) 拜服老兄ing~~~~~~~~~~ <ASP:LINKBUTTON id="lbDelete" runat="server" causesvalidation="False" commandname="Delete" enableviewstate="False" onclientclick="return confirm('确定删除此项吗?');">删除</ASP:LINKBUTTON>这么简单的现成功能啊 页面刷新时保存数据 有了Linq大家还写存储过程吗? chrome,fireFox获取绝对路径 三层架构里面的引用 关于DataAdapter配置向导问题。@ 变成 ? 哪位高手会用MagicAjax啊 水晶报表是不是一定要建数据集 提示ExecuteNonQuery()语法错误,是什么原因呢?帮看下 xml删除节点的问题 如何调整各种控件的位置? 一个查询语句+datalist数据绑定的问题,请懂的进来解决下,谢谢了 大家看看,你们是怎么做网站流量的统计的,,,, 立刻给分!!!我的信用,大家看着办
<div onclick="javascript:return confirm('真的要删除吗?');">删除</div>
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
LinkButton delButton = (LinkButton)e.Row.Cells[0].Controls[0];
delButton.Attributes.Add("onclick", "return confirm('你确认删除吗?');");
}
}
注意把CommandName设为Delete,要想成功删除,请自己写一个删除事件对应的方法
{
e.Item.Cells[0].Attributes.Add("onClick","return confirm('你确定要删除这一项吗?');");
}
1、点击GridView的快捷箭头,选‘编辑列’。
2、加入一个ButtonFiled,在右边的属性框里设置HeadText(用以显示),定义一个CommandName(用以你点击以后触发的动作)
3、点右下角的‘转化为模版列’,ok。
4、右击GridView,‘编辑模版’--‘Column[..]--你之前定义的HeadText’,ItemTemplate里看见你的按钮了吗?点中,属性里有一项‘OnClientClick’,把“javascript:return confirm('真的要删除吗?');”粘贴进去。
5、搞定你需要的功能了。
6、如果你想点击按钮触发其他事件,可以在RowCommand事件里详细写
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "MyBtnClicked")//前面你定义的CommandName
{
Response.Write("kkk clicked");
}
}
---------------------呵呵,欢迎使用Vs2005开发Asp.net-------====
~~~~ 我的Blog:http://blog.csdn.net/quou2002
int index = Convert.ToInt32(e.CommandArgument);
GridViewRow row = GridView1.Rows[index];
ListItem item = new ListItem();
parString = Server.HtmlDecode(row.Cells[2].Text);
这个方法好象只有对自已新增列属于ButtonFiled性质的才有效.而上面几位仁兄的方法在试用时都报错.可能是有些要设置的地方我没有设置.恳请诸君救我........
switch(e.CommandName )
{
case "modify":
Response.Redirect("ModifyPostClass.aspx?parTransfer=" + parString);
break;
case "del":
(此处加一条Java语句???????)
dbd1.StrTableName = "StationDefineTable";
dbd1.StrSqlWhere = "StationDefineCode = '" + parString + "'";
的 case "del":下面直接加一条Java语句来解决问题呢?
1、在前面的步骤4中,你在itemTemplate里看见你的按钮右上角的小箭头了吧,verygood,点击‘编辑DataBings’
2、看见这一级别的绑定了吗?把 CommandArgument和你想操作的字段绑定吧(右边下拉列表选择)
3、ok,现在你可以类似下面方法调用
------------------
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "MyBtnClicked")
{
Response.Write("you wanted " + e.CommandArgument.ToString());
}
}
------------------
你无非就是想取到结果集中的cell里的内容,现在你想得到的内容绑定在CommandArgument里了,你就不用再什么index什么cell[].text了(复杂的cell你还要findcontrol,呵呵)-----------不用编代码,感觉就是好------绑定,无处不在------====
~~~~ 我的Blog:http://blog.csdn.net/quou2002
拜服老兄ing~~~~~~~~~~