首页 > 解决方案 > 从剃须刀页面调用控制器操作的正确方法是什么?

问题描述

我想知道做事的“正确”方式,而不是一种骇人听闻的方式。

我有一个应用程序,它同时具有剃刀页面(MVVM?)和来自 MVC 的控制器。我的控制器执行特定的操作,例如在一个中处理电话,在另一个中处理短信。

我现在有一个带有按钮的剃须刀页面,我希望此按钮的 OnPost 可以在其中一个或两个控制器上执行一些操作。当我阅读不同的方法来做到这一点时,我的印象是我的剃须刀页面不应该直接与我的控制器交互,而应该使用一些中间类。

我已经尝试过 RedirectToAction 并在 razor 页面中创建了一个控制器实例,但是当我只想说“MessageController.SendMessage("5555555555","What's up?")

标签: c#asp.net-core-mvcrazor-pages

解决方案


您应该使用 Form Post 来满足您的要求

@using (Html.BeginForm("SendMessage", "Message", FormMethod.Post))
{
    <input type="text" name="textmessage" />
    <input type="number" name="phonenumber" />

    <input type="submit" value="Send" />
}

推荐阅读