我用在GridView的第6个单元格里绑定了一个按钮,当点击这个按钮时先给一个确认:“确定要通过二审吗?”
大致代码如下:
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
-----省略了部分代码----------
((Button)(e.Row.Cells[5].Controls[0])).Attributes.Add("onclick", "return confirm('确定要通过二审吗?')");
}
protected void GridView1_SelectedIndexChanging(object sender, GridViewSelectEventArgs e)
{
----这部分是执行SQL语句的代码--------
} 运行后,当点击GridView的第6个单元格里的按钮时,弹出了确认的对话框,可是点击”确定“ 确什么反应也没有,数据库里也没有任何变化,当把GridView1_RowDataBound()函数里的((Button)(e.Row.Cells[5].Controls[0])).Attributes.Add("onclick", "return confirm('确定要通过二审吗?')");这段代码注释掉后就一切正常了,不过也没有确认了,请问一下这个问题该怎样解决啊?这个确认是必须的!!
大致代码如下:
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
-----省略了部分代码----------
((Button)(e.Row.Cells[5].Controls[0])).Attributes.Add("onclick", "return confirm('确定要通过二审吗?')");
}
protected void GridView1_SelectedIndexChanging(object sender, GridViewSelectEventArgs e)
{
----这部分是执行SQL语句的代码--------
} 运行后,当点击GridView的第6个单元格里的按钮时,弹出了确认的对话框,可是点击”确定“ 确什么反应也没有,数据库里也没有任何变化,当把GridView1_RowDataBound()函数里的((Button)(e.Row.Cells[5].Controls[0])).Attributes.Add("onclick", "return confirm('确定要通过二审吗?')");这段代码注释掉后就一切正常了,不过也没有确认了,请问一下这个问题该怎样解决啊?这个确认是必须的!!
这样不行啊!我早就试过了,我在前台的gridview中是这样绑定按钮的: <asp:CommandField ButtonType="Button" HeaderText="通过|取消" SelectText="通过二审" ShowSelectButton="True">这样绑定是不能加OnClientClick事件的还有别的比较好的方法吗?谢谢了!
<ItemTemplate>
<asp:button id="btn" runat="server" Text="通过二审" OnClientClick="javascript:return confirm('确定要通过二审吗?')" />
</ItemTemplate>
</asp:TemplateField>改成这不就行了么.效果一样的!条条大路通罗马嘛!
要传参数就使用asp:linkbutton
<asp:TemplateField HeaderText="通过|取消">
<ItemTemplate>
<asp:button id="btn" runat="server" Text="通过二审" OnClientClick="javascript:return confirm('确定要通过二审吗?')" />
</ItemTemplate>
</asp:TemplateField>
在 GridView1_RowDataBound()事件中,这样用:
if (e.Row.Cells[3].Text =="二审通过" || e.Row.Cells[3].Text =="已发布")
{
((Button)(e.Row.Cells[5].Controls[0])).Enabled = false; }好像不行,提示无法强制转换为Button类型,哎!劳烦这位大哥了,我的C#基础实在是太差了,还有一个月左右就要交毕业设计了,可我刚开始做,前段时间看来2个月左右的ASP.NET,可是现在还是半生半熟的!!!
一样的!主要是用到linkbutton的两个属性而已
<asp:TemplateField HeaderText="管理">
<ItemTemplate>
<asp:LinkButton ID="UpdateType" runat="server" Text="修改"
CommandArgument='<%# Eval("Product_class_id").ToString() %>' CommandName="UpdateType" CausesValidation="False"></asp:LinkButton>
<asp:LinkButton ID="DelType" runat="server" Text="删除"
CommandArgument='<%# Eval("Product_class_id").ToString() %>' CommandName="DelType" CausesValidation="False" OnClientClick="javascript:return confirm('将会删除其所有子类,是否确认删除?')"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
后台处理:
/// <summary>
/// 列表修改删除事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void gdType_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "UpdateType")
{
}
if (e.CommandName == "DelType")
{
}
}
使用linkbutton是为了它的commandName和CommandArgument这两个属性!