v0v
Дата: 18.04.2007 19:04:20
Есть GridView
<asp:GridView ID="gvMain" runat="server"
DataKeyNames="BUID"
OnRowCommand="gv_RowCommand"
>
<Columns>
<asp:TemplateField HeaderStyle-ForeColor="#9c0d0d" HeaderText="">
<ItemTemplate>
<asp:ImageButton ID="btEdit" runat="server" ImageUrl="/images/icons/person.gif" AlternateText="Пользователи" CommandName="Edit_" CommandArgument='<%#Eval("BUID")%>'/>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Название организации" >
<ItemTemplate>
<%#Eval("fullName")%>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
и есть обработчик RowCommand
protected void gv_RowCommand(Object sender, GridViewCommandEventArgs e)
{
switch (e.CommandName.ToString())
{
case "Edit_": { Response.Redirect("~/ManageBUPerson.aspx?Id=" + e.CommandArgument.ToString()); break; }
}
}
GridView получает данные из DataTable при закрузке страницы (Page_Load).
А теперь внимание вопрос.
1. При первой загрузке страницы гридвиью показывает три записи.
2. Кто-то внес данные в Таблицу БД (если я бы пергрузил страницу то записей стало бы 4, причем новая запись стала бы первой в гридвью)
3. Но я нажимаю кнопку "Пользователи" для первой записи, и перехожу на другую страницу и вижу что реально она мне подставила Ид не той записи по котрой я щелкнул, а той которую внесли в БД (пункт 2)
Какие мысли по этому поводу ??????