在bootbox之前,我在gridview的aspx文件中做了这个;
<asp:Button ID="btnDelete" CssClass="btn btn-danger" OnClientClick="if(!confirmDelete()) return false;" runat="server" CommandArgument="<%# ((GridViewRow) Container).RowIndex %>" CausesValidation="false" CommandName="DeleteRow" Text="Delete"/>
Run Code Online (Sandbox Code Playgroud)
和js文件;
function confirmDelete() {
return confirm("Are you sure you want to delete the record?"); }
Run Code Online (Sandbox Code Playgroud)
并通过确认,触发gridview的RowCommand并完成删除.
有了bootbox,我真的被卡住了.我知道bootbox是异步并尝试使用'preventDefault',但它不起作用.那么如何将上面的js文件转换为bootbox版本呢?提前致谢.
我得到了Alex Mamo 的解决方案,以检查我的数据库中是否存在唯一值,但快照始终为空。解决方案在这里:
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference userNameRef = rootRef.child("Users").child("Nick123");
ValueEventListener eventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if(!dataSnapshot.exists()) {
//create new user
}
}
@Override
public void onCancelled(DatabaseError databaseError) {}
};
userNameRef.addListenerForSingleValueEvent(eventListener);
Run Code Online (Sandbox Code Playgroud)
我的数据库如下所示:
users
(auto-generated push token ID)
fullname
username
gender
...
Run Code Online (Sandbox Code Playgroud)
我不知道这是否是正确的方法,但我使用了 push() 方法将用户对象添加到数据库中,并且此方法会像上面一样生成推送令牌 ID。
那么,为了不创建重复的用户,我应该对上述解决方案进行哪些更改?有更好的方法来做到这一点吗?也许就像使用一些 firebase auth 方法检查 firebase uid 一样?