У меня проблемы при использовании ButtonField для выдачи команды строки.
Когда я нажимаю кнопку ImageButton в ButtonField, IsPostBack имеет значение false
Насколько я понимаю, чтоImageButton в ButtonField в GridView должен привести к истине обратной передачи.
Вопрос : Может кто-нибудь объяснить, прав я или нет, и есть ли свойства для настройкиполе кнопки, чтобы заставить его выдать обратную передачу.
Некоторый код:
Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
m_DataTable = GetDataTable();
Session["m_DataTable"] = m_DataTable;
}
else
{
m_DataTable = Session["m_DataTable"];
}
}
и позже в коде:
GridView1.Columns.Clear();
ButtonField cf = new ButtonField();
cf.HeaderStyle.CssClass = "comGridHeadCell";
cf.HeaderText = "some text";
cf.HeaderImageUrl = "images/something.png";
cf.Text = "action";
cf.CommandName = "action";
cf.ImageUrl = "images/something.png";
cf.ButtonType = ButtonType.Image;
cf.ItemStyle.CssClass = "comGridLink";
GridView1.Columns.Add(cf);
GridView1.DataSource = m_DataTable;
GridView1.DataBind();
также:
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" AllowPaging="True" AllowSorting="True" OnRowCommand="GridView_RowCommand" OnPageIndexChanging="GridView_PageIndexChanging">
<PagerSettings PageButtonCount="25" />
</asp:GridView>
Редактировать: Я запускаю сайт в режиме отладки через VS2010.Я тестирую с использованием IE8.Если я использую Firefox, IsPostBack == true
.Это похоже на конкретную проблему при отладке в IE8.