Подтверждение JavaScript не работает?
-
19-09-2019 - |
Вопрос
Я использую гирдвью.и для удаления я использую LinkButton в каждой строке.
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if(e.Row.RowType == DataControlRowType.DataRow)
{
((LinkButton)e.Row.Cells[12].Controls[0]).Attributes.Add("onClick",
"return false;"
);
}
}
Я бы не ожидал, что ничего не произойдет, когда я Link Button
нажимается, потому что OnClick
возвращает false
.Верно?
НО
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if(e.CommandName=="SIL")
{
String _id = GridView1.DataKeys[Int32.Parse(e.CommandArgument.ToString())].Values["id"].ToString();
dsodeme_onkayitTableAdapters.odeme_onkayitTableAdapter _todeme = new dsodeme_onkayitTableAdapters.odeme_onkayitTableAdapter();
_todeme.DeleteQueryID(_id);
Response.Redirect("musteri_onkayit_odeme_al.aspx?username=" + lbUserName.Text);
}
}
вызывается.А RowCommand
работает и удаляет записи.
Пожалуйста, помогите мне найти проблему.Я использую Vista Home Premium и IE8.В этом проблема?
Решение 2
Хорошо, я исправлю это вот так;
атрибут.add ("onClick", "if(!confirm('Вы уверены?')) event.returnValue=false;");
это работает.Спасибо.
Другие советы
Вместо:
((LinkButton)e.Row.Cells[12].Controls[0]).Attributes.Add("onClick",
"return false;"
);
Пытаться:
((LinkButton)e.Row.Cells[12].Controls[0]).OnClientClick = "return false;";
Я думаю, что Ян должен что-то понять, возможно ли, что фактическая ссылка, на которую вы пытаетесь добавить onClick, не является «элементом управления ячейкой 12 0»?
Вы должны показать результат, и мы сможем выяснить, что не так.
Я знаю, что это может показаться не тем ответом, который вам нужен, но если вы знаете, что элемент управления не должен допускать удаления, почему бы просто не сделать его невидимым, т.е.Скрыть контроль.
В конце концов, это приведет к тому, что вы пытаетесь сделать.