c# - 如何在 ASP.net Web 表单应用程序中处理 False/Empty 查询?

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

我正在 Visual Studio 中构建一个 Web 表单应用程序,并且有许多按钮功能允许用户从我的数据库中添加、更改和删除。

所有功能都按预期方式工作直到用户输入错误信息或未输入任何内容

这是我得到的错误

enter image description here

我自己做了一些研究,但我仍然不确定如何解决它,希望得到一些帮助

这是有问题的代码

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

关于c# - 如何在 ASP.net Web 表单应用程序中处理 False/Empty 查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27413395/

相关文章:

c# Threadpool - 限制线程数

c# - 如何使用 C# 将 Excel 单元格设置为组合框?

c# - 无法查询 AD(获取 DirectoryServicesCOMException)

sql - 需要帮助编写 SQL 查询

c# - 无法将泛型类型加载到 ASP.NET 应用程序中的另一个 AppDomain

c# - Roslyn 编译不解析 mscorlib 引用

asp.net - ASP.net 更新面板的事件问题

asp.net - IIS 和静态内容?

java - 使用 Spring 在 JSP 中显示图像

mysql - 将 tinyint 默认值更改为 1 mysql