Я искал часы, но я потерялся.asp: LinkButton, как отменить событие OnClick?
Есть в любом случае Отменить событие OnClick() из команды asp: LinkButton?
У меня есть следующий код на стороне клиента:
<asp:LinkButton ID="LinkButton3" runat="server" CausesValidation="False" CommandName="Delete" OnInit="SetVisibility" OnClientClick="return confirm('Are you sure?');" Text="Delete" OnClick="LinkButton3_Click"></asp:LinkButton>
код на стороне сервера для OnClick() событие, таким образом, ...
//Trap the delete button
protected void LinkButton3_Click(object sender, EventArgs e)
{
try
{
if (ListBox1.SelectedItem.Text == "** NO SCHOOL RECORDED **")
throw new Exception("You cannot delete this entry, as it's the default for every student until a School is selected in Basic Enrolments.");
}
catch (Exception exc)
{
webMessageBox.Show(exc.Message);
return;
}
}
Как вы можете видеть, что я хочу, чтобы отменить Удалить команду, если в раскрывающемся списке моего кода есть определенный текст.
Инструкция Return;
ничего не делает. Запись по-прежнему удаляется!
Есть ли способ прервать это событие, так как нет метода e.Cancel?
Я прочитал [это] [1] и [это] [2], но безрезультатно. Предположение о том, что нет способа отменить это событие, заставляет меня думать, что, возможно, мне следует отменить удаление в событиях привязки данных? Или еще лучше, как скрыть ссылку удаления, если пользователь выбирает выше выпадающий текст?
Заранее спасибо.
Благодаря
Почему бы не просто использовать событие команды, а и если e.CommandName это удалить, сделать проверку, чтобы увидеть, если соблюдены все условия, где вы не хотите, чтобы продолжить и просто обернуть это условно. –
Но как я могу прервать событие OnCommand()? Вернуть;? – Fandango68
Не прерывайте его. Просто коротко замыкайте его перед вызовом своей функции, которая удалит запись с условной логикой. –