DataGrid控件的ButtonColumn的问题

寒沙胜雪 2011-09-16 06:37:29
我在DataGrid里面自定义了一个列,为ButtonColumn的列,命令名为 Update,按钮类型为 LinkButton。
然后在对应的.cs文件里面写了方法:

private void myDataGrid_ItemCommand(object sender, DataGridCommandEventArgs e)
{
if (e.CommandName=="Update")
{
DBHelper.alert(this, "test!");//此处弹出test!。
}
}

但是这句弹出却没有执行,我在if语句上面设置了断点,调试执行,点击那个按钮,也没有执行这个方法。求教各位高人,到底要写什么方法啊?
...全文
77 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
寒沙胜雪 2011-09-16
  • 打赏
  • 举报
回复
我知道原因了,我可以的调用方法了,但是如何才能获取文本框中的内容呢?
寒沙胜雪 2011-09-16
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 icebamboo123 的回复:]
贴出html看看
[/Quote]
[Quote=引用 2 楼 supper168 的回复:]
e.CommandName 输入值与“Update”不符,先输出的看看。
[/Quote]

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="TourMess.aspx.cs" Inherits="Tour.TourCom.TourMess" Theme="主题1"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<asp:DataGrid runat= "server" id="myDataGrid" AutoGenerateColumns="False"
AllowPaging="True" PageSize="4" Height="150px"
Width="676px" onpageindexchanged="myDataGrid_PageIndexChanged">
<PagerStyle Mode="NumericPages" />
<Columns>
<asp:BoundColumn HeaderText="客户留言" DataField="MessCont">
<HeaderStyle Width="290px" Height="50px"/>
</asp:BoundColumn>
<asp:TemplateColumn HeaderText="回复内容">
<ItemTemplate>
<asp:TextBox ID="txtMessAns" runat="server" Height="49px" Width="289px"
TextMode="MultiLine"></asp:TextBox>
  
</ItemTemplate>
<HeaderStyle Width="290px" Height="50px"/>
</asp:TemplateColumn>
<asp:ButtonColumn CommandName="Update" HeaderText="确定" Text="确定">
</asp:ButtonColumn>
</Columns>
</asp:DataGrid>
</form>
</body>
</html>


cs文件代码如下:

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;

namespace Tour.TourCom
{
public partial class TourMess : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//if (Session["TourCom"] == null)
//{
// Response.Write("<script language='javascript'> alert('您未登录!');location.href= '../TourComLogin.aspx'</script>");
//}
this.DataToBind();
}
private void DataToBind(){
//string strTourCom = Session["TourCom"].ToString();
string strTourCom = "wulianshan";
//根据旅游公司名得到旅游公司ID
int iTourComID = 0;
string strGetTourComID = @"select TourComID from TourCom where TourComUID='" + strTourCom + "'";
Boolean blIs;
DataRow dr = DBHelper.ExecuteReader(strGetTourComID, CommandType.Text, out blIs, null);
iTourComID = Convert.ToInt32(dr["TourComID"]);
//根据旅游公司ID得到其发布的景区ID
int iScenID = 0;
string strGetScenID = @"select ScenID from Scenery where TourComID='" + iTourComID + "'";
Boolean blIsSuccess;
DataRow drScenID = DBHelper.ExecuteReader(strGetScenID, CommandType.Text, out blIsSuccess, null);
iScenID = Convert.ToInt32(drScenID["ScenID"]);
//根据景区ID得到留言内容
string strGetMess = @"select MessCont from Mess where MessIs='" + false + "' and ScenID='" + iScenID + "'";
DataSet ds = DBHelper.GetDataSet(strGetMess);
this.myDataGrid.DataKeyField = "MessCont";
this.myDataGrid.DataSource=ds;
this.myDataGrid.DataBind();

}

protected void myDataGrid_PageIndexChanged(object source, DataGridPageChangedEventArgs e)
{
this.myDataGrid.CurrentPageIndex = e.NewPageIndex;
this.DataToBind();
}
private void myDataGrid_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
//获取待更新的留言ID
string strID = this.myDataGrid.DataKeys[e.Item.ItemIndex].ToString();
//获取对用户留言的回复内容
string strMessAns = ((TextBox)(e.Item.Cells[2].Controls[0])).Text;
string strUpdate = @"update Mess set MessAns='" + strMessAns + "',MessIs='" + true + "' where MessID='" + strID + "'";
Boolean blIs = DBHelper.ExecuteNonQuery(strUpdate, CommandType.Text, null);
if (blIs==true)
{
//成功
this.DataToBind();
}
else
{
//失败
throw new Exception("更新失败!");
}
}
protected void myDataGrid_RowCommand(object sender,DataGridCommandEventArgs e)
{
if (e.CommandName=="Update")
{
DBHelper.alert(this, "test!");
}
}
private void myDataGrid_ItemCommand(object sender, DataGridCommandEventArgs e)
{
if (e.CommandName=="Update")
{
DBHelper.alert(this, "test!");
}
}
}
}

春天的气息 2011-09-16
  • 打赏
  • 举报
回复
e.CommandName 输入值与“Update”不符,先输出的看看。
快乐的毛毛虫 2011-09-16
  • 打赏
  • 举报
回复
贴出html看看

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧