簡體   English   中英

如何在ASP.net Web窗體應用程序中處理False / Empty查詢?

[英]How do I handle False/Empty query's in a ASP.net Web forms App?

我正在Visual Studio中構建一個Web表單應用程序,並具有許多按鈕功能,允許用戶從我的數據庫添加,更改和刪除。

並且所有功能都按預期方式工作,直到用戶輸入錯誤信息或未輸入任何信息

這是我得到的錯誤

在此輸入圖像描述

我自己做了一些研究,但我仍然不確定如何解決它,並且會喜歡一些幫助

這是有問題的代碼

   public partial class DeleteCharacters : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }
        private MarvelModelContext context = new MarvelModelContext();

        protected void btnDeleteId_Click(object sender, EventArgs e)
        {
            int id = System.Convert.ToInt32(txtId.Text);
            string Sname = SNameT.Text;
            Character CRead = context.Character.FirstOrDefault(c => c.CharacterId == id && c.Superhero == Sname);
            context.Character.Remove(CRead);//Error Pops up here 

            context.SaveChanges();

            //Clear Feilds
            txtId.Text = "";
            SNameT.Text = "";
        }

    }

正如@MKS建議您在使用FirstOrDefault時必須檢查null。 如果在lambda表達式中找不到匹配項,則返回null 因此,更新的方法應如下所示。

 public partial class DeleteCharacters : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    private MarvelModelContext context = new MarvelModelContext();

    protected void btnDeleteId_Click(object sender, EventArgs e)
    {
        int id = System.Convert.ToInt32(txtId.Text);
        string Sname = SNameT.Text;
        Character CRead = context.Character.FirstOrDefault(c => c.CharacterId == id && c.Superhero == Sname);

        if(CRead != null) // added this condition
        {
            context.Character.Remove(CRead);

            context.SaveChanges();

            //Clear Feilds
            txtId.Text = "";
            SNameT.Text = "";
        }
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM