【问题标题】:wrong Grid view selection错误的网格视图选择
【发布时间】:2015-01-03 06:25:19
【问题描述】:

我有一个包含 3 个网格视图的页面

第一个:

<cc1:Grid ID="Grid2" runat="server" FolderStyle="~/Styles/grand_gray" DataSourceID="SqlDataSource2" AutoPostBackOnSelect="true"
       AutoGenerateColumns="true" AllowAddingRecords="false" AllowColumnResizing="true" AllowPageSizeSelection="true" Width="100%" OnSelect="Grid2_Select">
        <Columns>
            <cc1:Column DataField="date" HeaderText="Date" HeaderAlign="left" Align="left" ></cc1:Column>
            <cc1:Column DataField="description" HeaderText="Description" HeaderAlign="left" Align="left" ></cc1:Column>
            <cc1:Column DataField="partici" HeaderText="partici" HeaderAlign="left" Align="left" ></cc1:Column>
            <cc1:Column DataField="publicationName" HeaderText="publication Name" HeaderAlign="left" Align="left" ></cc1:Column>
        </Columns>
        <ScrollingSettings ScrollWidth="100%" />
    </cc1:Grid>

第二个:

<cc1:Grid ID="Grid3" runat="server" FolderStyle="~/Styles/grand_gray" DataSourceID="SqlDataSource3" AutoPostBackOnSelect="true"
       AutoGenerateColumns="true" AllowAddingRecords="false" AllowColumnResizing="true" AllowPageSizeSelection="true" Width="100%" OnSelect="Grid3_Select">
        <Columns>
            <cc1:Column DataField="date" HeaderText="Date" HeaderAlign="left" Align="left" ></cc1:Column>
            <cc1:Column DataField="description" HeaderText="Description" HeaderAlign="left" Align="left" ></cc1:Column>
            <cc1:Column DataField="partici" HeaderText="partici" HeaderAlign="left" Align="left" ></cc1:Column>
            <cc1:Column DataField="publicationName" HeaderText="publication Name" HeaderAlign="left" Align="left" ></cc1:Column>
        </Columns>
        <ScrollingSettings ScrollWidth="100%" />
    </cc1:Grid>

第三个

<cc1:Grid ID="Grid1" runat="server" FolderStyle="~/Styles/grand_gray" DataSourceID="SqlDataSource1" AutoPostBackOnSelect="true"
       AutoGenerateColumns="true" AllowAddingRecords="false" AllowColumnResizing="true" AllowPageSizeSelection="true" Width="100%" OnSelect="Grid1_Select">
        <Columns>
            <cc1:Column DataField="date" HeaderText="Date" HeaderAlign="left" Align="left" ></cc1:Column>
            <cc1:Column DataField="description" HeaderText="Description" HeaderAlign="left" Align="left" ></cc1:Column>
            <cc1:Column DataField="partici" HeaderText="partici" HeaderAlign="left" Align="left" ></cc1:Column>
            <cc1:Column DataField="publicationName" HeaderText="publication Name" HeaderAlign="left" Align="left" ></cc1:Column>
        </Columns>
        <ScrollingSettings ScrollWidth="100%" />
    </cc1:Grid>

当用户从后面的代码中选择任何一行时,他会转到另一页,这取决于他们每个人的数据 问题是:如果选择第一个代码运行良好 然后我使用浏览器的后退按钮并从第二个或第三个网格中选择行 选定的行仍然是第一个网格中的一个

protected void Grid1_Select(object sender, Obout.Grid.GridRecordEventArgs e)
    {
        foreach (Hashtable h in e.RecordsCollection)
        {
            string date = h["date"].ToString();
            string description = h["description"].ToString();
            string partici = h["partici"].ToString();
            string publicationName = h["publicationName"].ToString();
            Session["date"] = date;
            Session["description"] = description;
            Session["partici"] = partici;
            Session["publicationName"] = publicationName;

            Response.Redirect("Publications_View.aspx");
        }
    }

protected void Grid2_Select(object sender, Obout.Grid.GridRecordEventArgs e)
    {
        foreach (Hashtable h in e.RecordsCollection)
        {
            string date = h["date"].ToString();
            string description = h["description"].ToString();
            string partici = h["partici"].ToString();
            string publicationName = h["publicationName"].ToString();
            Session["date"] = date;
            Session["description"] = description;
            Session["partici"] = partici;
            Session["publicationName"] = publicationName;

            Response.Redirect("Publications_View.aspx");
        }
    }

protected void Grid3_Select(object sender, Obout.Grid.GridRecordEventArgs e)
    {
        foreach (Hashtable h in e.RecordsCollection)
        {
            string date = h["date"].ToString();
            string description = h["description"].ToString();
            string partici = h["partici"].ToString();
            string publicationName = h["publicationName"].ToString();
            Session["date"] = date;
            Session["description"] = description;
            Session["partici"] = partici;
            Session["publicationName"] = publicationName;

            Response.Redirect("Publications_View.aspx");
        }
    }

注意:如果我第一次选择第二个或第三个网格,代码运行良好,直到我从第一个网格中选择行,然后问题再次发生,只有第一个网格中的行出现,无论我选择哪个网格

有什么帮助吗??

【问题讨论】:

  • 您是否尝试过在登陆时销毁这些Session 值并在Publications_View.aspx 中使用它们?试试看问题是否仍然存在?
  • 问题不在会话值中,如果我从 Grid2 中选择行的问题 >> 在后面的代码中我应该移动到 grid2_select,但实际上我去 grid1_select 会发生什么
  • 我明白了。似乎由于某种原因它没有正确绑定它。如何将数据绑定到这些网格?
  • 来自 sqlserver 连接
  • 你有什么设置Page_Load事件中的数据吗?

标签: c# jquery html asp.net gridview


【解决方案1】:

我通过添加一个让我返回原始页面的按钮解决了这个问题 那么如果我选择第二个或第三个网格它绑定得很好

实际上并没有解决问题,但我不得不绕过它

所以我认为浏览器后退按钮的问题(页面现金或类似的东西)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-12
    • 1970-01-01
    • 1970-01-01
    • 2022-11-28
    • 2012-06-16
    • 1970-01-01
    相关资源
    最近更新 更多