C# net内核:从视图调用不同控制器的方法正常吗?

C# net内核:从视图调用不同控制器的方法正常吗?,c#,asp.net,asp.net-mvc,razor,C#,Asp.net,Asp.net Mvc,Razor,我有两个控制器:FirstController和SecondController 第一个控制器包含用于发送一些数据的GET方法GetFirstData 第二个控制器包含用于发送不同数据的类似方法GetSecondData 对于每个控制器,我还有2个视图Index.cshtml 我知道从Index.cshtml视图调用GetFirstData方法是正常的。但是从FirstController的Index.cshtml调用GetSecondData方法好吗?例如,将AJAX与@Url.Action(

我有两个控制器:
FirstController
SecondController

第一个控制器包含用于发送一些数据的GET方法
GetFirstData

第二个控制器包含用于发送不同数据的类似方法
GetSecondData

对于每个控制器,我还有2个视图Index.cshtml


我知道从Index.cshtml视图调用
GetFirstData
方法是正常的。但是从
FirstController
的Index.cshtml调用
GetSecondData
方法好吗?例如,将AJAX与
@Url.Action(“GetSecondData”,“Second”)
一起使用是的,您可以这样做。如果您使用Ajax调用该方法,则不会有任何问题。

是的,您可以肯定地这样做,您可以通过
Ajax将控制器方法用作web调用,但我建议:

1-如果多个
视图
跨多个
控制器
使用
GetSecondData
,我建议您在单独的
控制器
中对其进行分离

为什么??因为这种方法似乎比绑定到一个特定的
控制器
更为通用,其中包含大量的
视图
操作


2-我还建议您将
AJAX函数
分离到一个单独的JS文件中,并将其包含在对
函数
感兴趣的
视图中,这样做没有问题。如果其他人可以遵循您的代码,那么就不会有任何问题。但是,如果您的应用程序非常大,并且您发现自己执行了很多这样的跨控制器调用,那么可能是时候重新考虑控制器的组织方式了。是的,这不是问题,只是希望确保此调用的正确性。感谢您OHK了解..随时准备帮助我使用
控制器服务存储库体系结构
,由于表之间存在FK,我希望执行此调用(我认为您的解决方案现在对我来说不是很好,它将导致某些类的重复)。当然,我可以在
Second
First服务
存储库中接收,在
First controller
中实现一些方法并调用它,但它看起来很糟糕:
First controller
中的方法
GetSecondControllerData
看起来也很糟糕。但是,你给了我另一个解决方案,谢谢你,我想有一天它会对我有用。。