【问题标题】:Is there a way place submit button of a form inside another view?有没有办法将表单的提交按钮放在另一个视图中?
【发布时间】:2021-03-08 22:12:05
【问题描述】:

我的问题如下: 我有一个名为“SettingController”的控制器,其中包含一个名为 SSO.cshtml 的视图,其中有一个表单。我还有一个名为“UserController”的控制器包含视图“Index.cshtml”。索引视图有“提交”按钮。在 UserController 中有一个 HttpPost 方法调用 SyncSSO() 返回 ActionResult。我想让按钮“提交”成为 SSO.cshtml 中表单的提交按钮,单击它后,包含此表单字段信息的模型实例将被发送到 SyncSSO()。有没有这样的方法?

【问题讨论】:

  • 你可以使用Javascript/JQuery/AJAX来实现这个
  • 你能详细解释一下吗?如果你有一些 sudo 代码,我会很容易理解你的想法
  • 您可以使用 AJAX 从 Javascript 调用控制器操作。因此,您需要编写 JS 代码,该代码将在单击按钮时调用。代码将使用 JQuery 准备表单中的数据以进行发布,并通过 AJAX 向控制器操作发出 POST 请求,并处理从控制器操作返回的响应..

标签: c# html asp.net asp.net-mvc razor-pages


【解决方案1】:

如果您尝试使用 ButtonType 作为提交,那么它将在页面上发布所有数据。如果您只想发布几个字段或只发布选定的数据,那么请使用 AJAX 调用,这是更好的选择。

下面是我复制粘贴的示例:

$.ajax({
    type: "POST",
    url: '@Url.Action("FirstAjax", "AjaxTest")',
    contentType: "application/json; charset=utf-8",
    data: { a: "testing" },
    dataType: "json",
    success: function() { alert('Success'); },
    error: errorFunc
});

【讨论】:

  • 但是,当我在视图 index.cshtml 中时,如何从视图 SSO.cshtml 中的表单获取数据?
  • 当您发布数据时,您可以在 DOM 上使用帮助选择器找到它。并将该数据绑定到您将通过 AJAX 调用传递的数据中。
猜你喜欢
  • 1970-01-01
  • 2020-04-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-26
  • 2017-10-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多