我遇到的问题是,当我从Xamarin表单的列表中删除一行时,我已经对其进行了设置,因此当用户想要删除某些内容时,他们会弹出一个对话框,询问他们是否真的要删除。如果他们按“是”,则将其从列表中删除。(不是问题),但是如果用户说“否”,则仍(暂时)将其删除,然后刷新页面,它将返回。我想知道我的代码有什么问题。因此除非您按“是”,否则它不会删除该项目。
async void OnDeleteBook(object sender, EventArgs e)
{
var book = (sender as MenuItem).CommandParameter as BooksIWant;
if (await DisplayAlert("Warning", $"Are you sure you want to delete {book.Author} {book.BookTitle}?", "Yes", "No"))
await _connection.DeleteAsync(book);
_booksIWant.Remove(book);
}
答案 0 :(得分:1)
您需要使用jdbc-hikari
创建一个语句块。没有它们,仅执行{}
之后的语句;
IF
这是基本的C#,不是Xamarin特有的。
答案 1 :(得分:1)
您应该像下面这样编码
async void OnDeleteBook(object sender, EventArgs e){
var book = (sender as MenuItem).CommandParameter as BooksIWant;
if (await DisplayAlert("Warning", $"Are you sure you want to delete {book.Author} {book.BookTitle}?", "Yes", "No")){
await _connection.DeleteAsync(book);
_booksIWant.Remove(book);}}
删除和删除方法调用必须位于if循环内