【问题标题】:How do I handle False/Empty query's in a ASP.net Web forms App?如何处理 ASP.net Web 表单应用程序中的 False/Empty 查询?
【发布时间】:2015-02-09 09:05:22
【问题描述】:

我正在 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 = "";
        }

    }

【问题讨论】:

  • 您正在使用 FirstOrDefault。使用前检查该值是否为空。

标签: c# asp.net database visual-studio webforms


【解决方案1】:

正如@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 = "";
        }
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-05-26
    • 1970-01-01
    • 2012-06-08
    • 1970-01-01
    • 2012-05-13
    • 1970-01-01
    • 2021-07-14
    相关资源
    最近更新 更多