现在的位置: 首页 > 综合 > 正文

在GridView中的RowDataBound方法中双击属性一个使用Session传值的弊端

2013年08月18日 ⁄ 综合 ⁄ 共 800字 ⁄ 字号 评论关闭

 

GridView中的RowDataBound方法中双击属性一个使用Session传值的弊端

protected void gvTrainClassInfo_RowDataBound(object sender, GridViewRowEventArgs e)

    {

        if (e.Row.RowType == DataControlRowType.DataRow)

        {

            //设置行颜色

            e.Row.Attributes.Add("onmouseover", "c=this.style.backgroundColor;this.style.backgroundColor='lightblue'");

 

            //添加自定义属性,当鼠标移走时还原该行的背景色

 

            e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor=c");

 

            string trainID = e.Row.Cells[1].Text.ToString().Trim();

           //Session["trainID"] = trainID;

          e.Row.Attributes.Add("ondblclick", "window.location.href='TrainPersonAdd.aspx?trainID=" + trainID + "'");

        }

}

 

这是一个很常用的双击效果

若是使用Session["trainID"] = trainID;传值的话,因为是在RowDataBound事件中,所以在页面加载时就已经执行,

这样就会造成Session里面的值是最后一行的数据的值,这就与事实不符了,双击任何一行传入的参数总是最后一行的信息

 

 

抱歉!评论已关闭.