首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

为啥GridView中的按钮不能响应RowCommand事件

2012-09-08 
为什么GridView中的按钮不能响应RowCommand事件我在GridView的 RowDataBound事件中添加一个客户端事件C# c

为什么GridView中的按钮不能响应RowCommand事件
我在GridView的 RowDataBound事件中添加一个客户端事件

C# code
    protected void gvZhidian_RowDataBound(object sender, GridViewRowEventArgs e)    {        if (e.Row.RowType == DataControlRowType.DataRow)        {            Button b = (Button)e.Row.FindControl("btnDelete");            b.Attributes.Add("onclick", "return confirm('你确定要删除此字典吗,如果删除可能导致一些内容显示不了');");        }    }

主要是为了在删除的时候有一个提示,但是我点击确定和取消都不能响应RowCommand事件,如下
C# code
protected void gvZhidian_RowCommand(object sender, GridViewCommandEventArgs e)    {        if (e.CommandName.ToLower() == "del")        {            new jiaxExam().executeSQL("delete from Tzhidian where id='" + ((Button)sender).CommandArgument + "' and upid='" + Request.QueryString["id"].ToString() + "'");            Response.Redirect("zhidian1.aspx?id=" + Request.QueryString["id"].ToString());        }    }

请教一下,这是怎么回事啊

[解决办法]
<asp:GridView ID="GridView1" runat="server" OnRowCommand="gvZhidian_RowCommand">
</asp:GridView>
[解决办法]
绑定的事件中看不出有哪儿错哦!!
[解决办法]
直接这样提示:
<asp:Button id="btnDelete" runat="server" OnClientClick="return confirm('你确定要删除此字典吗,如果删除可能导致一些内容显示不了');"/>
[解决办法]
首先将按钮那一列转化为模版,然后在其属性里加入下面的js语句,就能弹出一个确认窗口。
<ItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False" CommandName="Select"
Text="选择" >
</asp:LinkButton>
<asp:LinkButton ID="LinkButton2" runat="server" CausesValidation="False" CommandName="Delete" Text="删除" 
OnClientClick="return confirm( Are you sure you want to delete this record? )" >
</asp:LinkButton>
</ItemTemplate>

[解决办法]
要在cs里面写的话,在GridView1_RowDataBound里写
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
ImageButton imgFlag = new ImageButton();
imgFlag = ((ImageButton)e.Row.Cells[7].Controls[2]);
if (imgFlag.AlternateText == "删除")
{
imgFlag.Attributes.Add("onclick", "javascript:return confirm( 您确信要删除吗!? )");
}

}

}
[解决办法]
探讨
直接这样提示:
<asp:Button id="btnDelete" runat="server" OnClientClick="return confirm('你确定要删除此字典吗,如果删除可能导致一些内容显示不了');"/>

[解决办法]
从你这句上来看 if (e.CommandName.ToLower() == "del")应该是参数错误了

<asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False" CommandName="Delete" Text="删除"></asp:LinkButton>

你那里一定是del,所以触发不了
------解决方案--------------------


没响应?是不是if (e.CommandName.ToLower() == "del")没执行
你确定你的前面的button写了这个属性,CommandName="del"了吗?
[解决办法]
<ItemTemplate>
<asp:LinkButton ID="lbtndelete" runat="server" CommandName="delect" 
CommandArgument='<%# Eval("Newsid") %>' 
onclientclick="javascript:return confirm('确认删除??')">删除</asp:LinkButton>
 </ItemTemplate>
//CommandArgument='<%# Eval("Newsid") %>' 获取当前的id

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "delect")
{
//获取当前的id
m.Newsid1 = Convert.ToInt32(e.CommandArgument.ToString());
// b.CommandDataBLLone(m)调用删除方法
b.CommandDataBLLone(m);
GridView1.EditIndex = -1;
ShowData();
}
}

热点排行