日期:2014-05-18  浏览次数:21062 次

gridview的RowCommand事件遇到的奇怪问题
我在前台的gridview控件中添加了按钮列
HTML code
<asp:ButtonField ButtonType="Button" Text="发送" CommandName="send"/>

后台事件
C# code
    protected void grid1_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        if (e.CommandName == "send")
        {
            grid1.DataSource = sendinfos;
            grid1.DataBind();
            int index = Convert.ToInt32(e.CommandArgument);
            grid1.Rows[index].Cells[11].Visible = false;
            //Response.Write("<script language=javascript>alert( '执行完毕!');        }
    }

运行时,是可以获得index值的
但是到执行下一步时没有反应,想要的隐藏效果并不出现
并且将注释取消,就会运行中断出现如下错误
Microsoft JScript 运行时错误: Sys.WebForms.PageRequestManagerParserErrorException: 无法分析从服务器收到的消息。之所以出现此错误,常见的原因是: 在通过调用 Response.Write() 修改响应时,将启用响应筛选器、HttpModule 或服务器跟踪。
详细信息: 分析附近的“<script language=jav”时出错。
我也试过在后面加些数据库的操作,只要不加response弹框就不会出问题,数据是可以添加的,但是我是需要弹框的,并且需要做隐藏
我为了做异步刷新把gridview用updatepanel框起来了,会不会跟这个有关系
麻烦大家帮我解决一下这个问题

------解决方案--------------------
我为了做异步刷新把gridview用updatepanel框起来了,会不会跟这个有关系

=========================
先做不用updatepanel的
------解决方案--------------------
updatepanel必须使用

ScriptManager.RegisterStartupScript(updatepanel,updatepanel.GetType(),"js","alert('ok')",true);