Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法成功从数据库中删除记录_C#_Javascript_Asp.net_Entity Framework_Typescript - Fatal编程技术网

C# 无法成功从数据库中删除记录

C# 无法成功从数据库中删除记录,c#,javascript,asp.net,entity-framework,typescript,C#,Javascript,Asp.net,Entity Framework,Typescript,我做错什么了吗?看起来一切正常,但记录不会从数据库中删除: C# 打字稿: function RemoveProductFromCart(e) { // Remove from their Cart. xhr.onreadystatechange = function () { if (xhr.readyState == 4) { if (xhr.status == 200) { // The data is

我做错什么了吗?看起来一切正常,但记录不会从数据库中删除:

C#

打字稿:

function RemoveProductFromCart(e) {
    // Remove from their Cart.
    xhr.onreadystatechange = function () {
        if (xhr.readyState == 4) {
            if (xhr.status == 200) {
                // The data is now stored in the responseText.
                // Change value in textbox to 0 so user knows it's been
                // removed from their cart.
                var el = <HTMLInputElement>document.getElementById(e.id + "-TB");
                if (el != null) {
                    el.value = "0";
                }
            }

            else {
                // Server responded with a different response code.
                alert(xhr.statusText);
            }

        }
    }

    var parameters = "Pi=" + encodeURIComponent(e.id) + "&" + "Action=Remove";

    xhr.open("POST", "../Cart.cshtml");
    xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xhr.setRequestHeader("Content-length", parameters.length.toString());
    xhr.setRequestHeader("Connection", "close");
    xhr.send(parameters);

    return e.id;
}
函数RemoveProductFromCart(e){
//从他们的购物车上取下。
xhr.onreadystatechange=函数(){
if(xhr.readyState==4){
如果(xhr.status==200){
//数据现在存储在responseText中。
//将文本框中的值更改为0,以便用户知道它已被删除
//从他们的购物车上取下。
var el=document.getElementById(e.id+“-TB”);
如果(el!=null){
el.value=“0”;
}
}
否则{
//服务器使用不同的响应代码进行响应。
警报(xhr.statusText);
}
}
}
var parameters=“Pi=“+encodeURIComponent(e.id)+”和“+”Action=Remove”;
xhr.open(“POST”、“./Cart.cshtml”);
setRequestHeader(“内容类型”,“应用程序/x-www-form-urlencoded”);
setRequestHeader(“Content-length”,parameters.length.toString());
setRequestHeader(“连接”、“关闭”);
发送(参数);
返回e.id;
}
在使用F12开发工具进行调试时,我看到:


。。。这让我相信我的C代码有问题。为什么它不从数据库中删除?

我有一些建议

在这些情况下,很可能其中一个请求项与您想象的不完全一样,因此操作或报价id可能包含意外消息。您可以使用断点检查它们

要检查的下一项是
myModel.Quote quotes
是否包含匹配的Quote对象。即使id是正确的(例如,它没有链接到当前用户,或者产品类型不同等),也可能有一个过滤器将其排除在外

我注意到你正在使用

database.Quotes.DeleteObject(quotes);
database.SaveChanges();

i、 e.您在第一次使用
引号,而不是在第二次使用
引号:是否应该将
SaveChanges
DeleteObject
调用放在同一上下文中?

我有一些建议

在这些情况下,很可能其中一个请求项与您想象的不完全一样,因此操作或报价id可能包含意外消息。您可以使用断点检查它们

要检查的下一项是
myModel.Quote quotes
是否包含匹配的Quote对象。即使id是正确的(例如,它没有链接到当前用户,或者产品类型不同等),也可能有一个过滤器将其排除在外

我注意到你正在使用

database.Quotes.DeleteObject(quotes);
database.SaveChanges();

i、 e.第一次使用
引号
,不在第二个:是否应该将
SaveChanges
DeleteObject
调用放在同一上下文中?

我强烈建议您将所有业务逻辑从您的视图中移除,至少放在控制器中……很抱歉,上面的代码看起来很像MVC语法。您是否验证了您对报价的查询实际上返回了一些内容&不是空的?我已经编辑了您的标题。请看“”,其中的共识是“不,他们不应该”。我在这里已经三年多了,没有看到人们在使用标签时遇到问题。如果他们不读你的问题,那么他们也帮不了什么忙。这句话有没有儿童关系?或引用此报价的任何实体?如果有的话,需要先删除它们。我强烈建议您将所有业务逻辑从视图中删除,并至少放到控制器中……对不起,上面的代码看起来很像MVC语法。您是否验证了您对报价的查询实际上返回了一些内容&不是空的?我已经编辑了您的标题。请看“”,其中的共识是“不,他们不应该”。我在这里已经三年多了,没有看到人们在使用标签时遇到问题。如果他们不读你的问题,那么他们也帮不了什么忙。这句话有没有儿童关系?或引用此报价的任何实体?如果有的话,需要先删除啊,我明白了。是的,这很有道理。我最初准备了一篇关于在DB中保存更改的文章,这就是他们的代码,它一直在工作,所以我没有发现任何错误。你说得对,关于这个惊喜。设置断点后(由于某种原因,我忘了您可以这样做),数量前有一个前导空格。我也很惊讶没有抛出任何异常。谢谢你,苏尼啊,我明白了。是的,这很有道理。我最初准备了一篇关于在DB中保存更改的文章,这就是他们的代码,它一直在工作,所以我没有发现任何错误。你说得对,关于这个惊喜。设置断点后(由于某种原因,我忘了您可以这样做),数量前有一个前导空格。我也很惊讶没有抛出任何异常。谢谢你,苏尼