【问题标题】:Is it possible to send Model data from a View to a Controller that is not the Controller for that View?是否可以将模型数据从视图发送到不是该视图的控制器的控制器?
【发布时间】:2018-03-06 15:02:20
【问题描述】:

我还没有找到类似的问题,所以我决定在这里问。

我对@9​​87654321@ 比较陌生,我的问题中可能有一些不正确的措辞,我只是想知道这是否可以做到?

通常,我们正在处理ModelViewController耦合,我们将Controller中的ViewModels/Json作为参数返回到返回的View,因此我们可以将Model绑定到@987654328 @

我只是想知道我们是否有一个 ViewA、ViewB、ControllerA、ControllerB 和一个 ModelA,是否可以有一个 @Url.Action/LinkAjax 方法将 ModelA 从 ViewA 发送到一个 Action Method ControllerB,那么,ModelA中存储的数据从ControllerB返回时,可以在ViewB中显示吗?

我还没有任何代码,只是想知道这是否可行,如果可以,实现类似目标的正确方法是什么?

【问题讨论】:

  • 只是想确保我正确理解了这个问题:您在视图 A 中有来自模型 A 的数据,现在您想要获取该数据并将其传递给控制器​​ B,然后将该数据传递给另一个视图 B ?对吗?
  • 是的,类似的。这可能吗?
  • 您是否需要对数据进行实际操作,还是只是想将其从一种视图转移到另一种视图?
  • 我不会对数据做任何工作,我只需要能够显示数据并根据从另一个局部视图更改的 DatePicker 和 DropDown 值刷新它。该功能已经在工作了

标签: model-view-controller actionmethod url-action


【解决方案1】:

你可以这样做: 控制器 B:

    public IActionResult ControllerB(ModelA data)
    {
        return View(data);
    }

查看 A:

@foreach (var data in Model)
{
    <li>@Html.ActionLink(@data.ModelAProperty, "ControllerB", "ControllerBFileName", new { id = data.Sys.Id })</li>
}

视图 B:

@model YourModel.Models.ModelA
<div>

<h3>@Model.ModelAProperty</h3>

<p>@Model.ModelAOtherProperty</p>
</div>

我相信这应该可行。我在以前的项目中这样做过,但设置略有不同,但我相信我已经正确修改它以满足您的需求。基本上,您是通过第一个视图将数据传递给控制器​​,然后使用该控制器将数据传递给下一个视图。

【讨论】:

    猜你喜欢
    • 2011-08-09
    • 1970-01-01
    • 2015-05-21
    • 1970-01-01
    • 1970-01-01
    • 2016-02-03
    • 2011-10-07
    • 2018-08-06
    • 1970-01-01
    相关资源
    最近更新 更多