Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/320.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/0/asp.net-core/3.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# 使用Razor页面向控制器或页面模型发出AJAX请求_C#_Asp.net Core_Asp.net Core Mvc_Asp.net Core 2.0_Razor Pages - Fatal编程技术网

C# 使用Razor页面向控制器或页面模型发出AJAX请求

C# 使用Razor页面向控制器或页面模型发出AJAX请求,c#,asp.net-core,asp.net-core-mvc,asp.net-core-2.0,razor-pages,C#,Asp.net Core,Asp.net Core Mvc,Asp.net Core 2.0,Razor Pages,随着.NETCore添加Razor页面作为选项,我有点困惑。我知道可以使用处理程序调用相同HTTP类型的多个操作。但是,如果我想创建一个跨多个页面使用的操作,该怎么办呢 我假设简单地创建一个没有视图的控制器是执行这些操作的方法。我只是想确保我能够从带有jQuery AJAX或常规按钮/锚标记的razor页面调用这些操作 我希望这两个世界都是最好的。我应该使用razor页面模板并添加控制器,还是使用mvc模板并添加页面。或者这无关紧要。我使用API控制器进行AJAX操作,使用Razor页面进行基本

随着.NETCore添加Razor页面作为选项,我有点困惑。我知道可以使用处理程序调用相同HTTP类型的多个操作。但是,如果我想创建一个跨多个页面使用的操作,该怎么办呢

我假设简单地创建一个没有视图的控制器是执行这些操作的方法。我只是想确保我能够从带有jQuery AJAX或常规按钮/锚标记的razor页面调用这些操作


我希望这两个世界都是最好的。我应该使用razor页面模板并添加控制器,还是使用mvc模板并添加页面。或者这无关紧要。

我使用API控制器进行AJAX操作,使用Razor页面进行基本的GET/POST。如果您想对Razor页面(甚至控制器)进行AJAX调用,请参阅下面关于向调用中添加AntiForgery令牌的帖子


通过AJAX调用操作没有问题。使用按钮/锚定可能是一个问题。这取决于您返回的数据。如果您返回一个PDF文件,浏览器将打开它,但如果您返回
View
,您将得到一个错误。这两种方法都是有效的,而且主要是意见问题,但使用MVC和Razor页面组合是明智的。