是否可以将模型数据从视图发送到不是该视图的控制器的控制器?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了是否可以将模型数据从视图发送到不是该视图的控制器的控制器?相关的知识,希望对你有一定的参考价值。

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

我对MVC比较新,可能在我的问题中有一些不正确的措辞,我只是想知道是否有可能做到这一点?

通常,我们正在处理ModelViewController耦合,我们返回ViewControllerModels/Json作为参数返回View,所以我们可以将Model绑定到View

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

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

答案

你可以这样做:控制器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>

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

以上是关于是否可以将模型数据从视图发送到不是该视图的控制器的控制器?的主要内容,如果未能解决你的问题,请参考以下文章

将数据从视图控制器发送到另一个

从控制器发送参数到视图

模型视图控制器:控制器或模型是不是从服务器获取数据?

使用ajax将@Model从视图发送到控制器

将值从模型传递到 CI 中的视图

如何将数据从一个视图控制器发送到另一个视图控制器[重复]