草庐IT

core-ajax

全部标签

c# - 为什么 Ajax.BeginForm 在 Chrome 中不起作用?

我正在使用c#.NETMVC2,我正在尝试创建一个调用删除数据库记录(RemoveRelation)方法的ajax表单。删除记录的过程按预期进行。删除记录后,表单应调用从视觉对象中删除记录的javascript函数(RemoveRelation(10))。这是通过AJAX调用完成的,在InternetExplorer9和Firefox4上都按预期工作但是在Chrome上由于某种原因更新没有通过AJAX调用发生,并且当删除记录的表单正在刷新时整个页面正在刷新已提交(这是不正确的,因为表单应该是使用AJAX功能生成的)。这是我用来生成表单的代码:此外,在Chrome上,我还有一个单独的Aj

c# - 如何在 ASP.net Core 中进行 Per-Request 缓存

我的旧代码是这样的:publicstaticclassDbHelper{//OneconectionperrequestpublicstaticDatabaseCurrentDb(){if(HttpContext.Current.Items["CurrentDb"]==null){varretval=newDatabaseWithMVCMiniProfiler("MainConnectionString");HttpContext.Current.Items["CurrentDb"]=retval;returnretval;}return(Database)HttpContext.Cu

c# - .NETStandard 1.0/.NET Core 中 Type.GetGenericArguments() 的等价物是什么?

.NETStandard1.0中“缺少”方法System.Type.GetGenericArguments(),我认为TypeInfo.GenericTypeArguments是的替代品GetGenericArguments(),但不幸的是,当提供开放泛型类型时,它们的行为会有所不同。以下面的代码为例:Typetype=typeof(ICommandHandler);type.GetGenericArguments();//return{TCommand}type.GetTypeInfo().GenericTypeArguments;//returnsemptyarray虽然GetGe

c# - 在 Ajax 请求的 Asp.Net MVC 操作中处理未处理的异常(错误 500 响应)的最佳策略是什么?

我很困惑如何处理这种情况。通常,当发生未处理的ASP.Net异常时,服务器会发回某种HTML消息,或者是默认的Asp.Net错误处理程序,或者是自定义错误处理程序。不过,在任何一种情况下,都会发回HTML(通常使页面对用户友好是个好主意)。但是,我遇到了一个问题,即在预期为Ajax调用返回JSON的Asp.netMVCController操作中出现未处理的异常。当javascript读取返回的页面(它是HTML而不是预期的JSON)时,由于无法将响应转换为JSON(现在我正在使用ExtJS)而崩溃。我希望在发生异常时返回Json,以便可以通知用户发生了错误。我能想到的唯一解决方案是在每

c# - ASP.NET Core 中间件向 Controller 传递参数

我正在使用ASP.NETCoreWebAPI,其中我有多个独立的WebAPI项目。在执行Controller的任何操作之前,我必须检查登录用户是否已经在模拟其他用户(我可以从DB获得)并且可以传递模拟用户Id到actions。由于这是一段可以重用的代码,我想我可以使用一个中间件:我可以从请求header获取初始用户登录信息获取模拟的用户ID(如果有)将该ID注入(inject)请求管道中,使其可供被调用的api使用publicclassGetImpersonatorMiddleware{privatereadonlyRequestDelegate_next;privateIImpers

c# - 在 ASP.NET MVC Core 项目的 View 中使用 C# 7 功能

我已经寻找与此相关的其他问题,但似乎没有一个是我正在寻找的。我有一个在ASP.NETCore上运行的网站,它具有VS2017中的新项目结构。使用C#7功能的代码文件编译良好。但是尝试在View中使用这些功能会导致一系列语法错误。我尝试安装Roslyn以便在编译View时使用它,因为据我所知,C#7功能在Roslynnuget包2.x及更高版本中可用。但现在我收到的反馈明确指出errorCS8059:Feature'outvariabledeclaration'isnotavailableinC#6.Pleaseuselanguageversion7orgreater.在过去,我会检查w

c# - ASP.NET Core 2.0 中的应用程序变量

我将如何在ASP.NETCore2.0中设置和访问应用程序范围的变量?详细信息:我有一个变量,我们称它为CompanyName,它驻留在数据库中并且几乎在每个页面上都使用。我不想每次需要显示CompanyName时都访问数据库。100年前,我会设置Application["CompanyName']=CompanyName但我知道这不是在.NETCore中做事的方式。有什么替代方案? 最佳答案 在过去的100年里取得了很大进步。前段时间,我相信在ASP.NET1.0中,ASPclassic中的Application对象被缓存所取代(

c# - ASP.NET Core 中的 System.Data.Entity.Spatial 替换

我正在尝试将Web表单从ASP.NETMVC迁移到ASP.NETCoreMVC。目前我正在尝试找到一种方法来替换:usingSystem.Data.Entity.Spatial;因为它目前在.NETCore中不可用,或者我可能找不到它。有没有办法包含这个包?也许通过NuGet包?附言。我简要阅读了Microsoft指南,但找不到与之相关的任何内容。对于任何可能处于类似情况的人,指南在这里:https://docs.asp.net/en/latest/migration/mvc.html(对不起,如果我不能写出一个好问题,我正在努力适应这里的系统) 最佳答案

c# - 如何删除 Entity Framework Core 中的多行?

这个问题在这里已经有了答案:HowdoIdeletemultiplerowsinEntityFramework(withoutforeach)(26个答案)关闭7个月前。我需要使用EntityFrameworkCore从数据库中删除多行。此代码无效:foreach(variteminitems){myCollection.Remove(item);}因为我在第一个对象之后收到错误“InvalidOperationException:Collectionwasmodified;enumerationoperationmaynotexecute”。换句话说,.Remove仅删除一个对象。E

c# - 从 .NET Core Controller 返回 CSV

我在将.NETCoreAPIController端点解析为CSV下载时遇到问题。我正在使用从.NET4.5Controller中提取的以下代码:[HttpGet][Route("{id:int}")]publicasyncTaskGet(intid){stringcsv=awaitreportManager.GetReport(CustomerId,id);varresponse=newHttpResponseMessage(HttpStatusCode.OK);response.Content=newStringContent(csv);response.Content.Header