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
看起来也很糟糕。但是,你给了我另一个解决方案,谢谢你,我想有一天它会对我有用。。