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

时间:2018-03-06 15:02:21

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

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

我对$('#' + windowid).detach(); $("body").append(template); $('#' + windowid).modal('show'); 比较新,可能在我的问题中有一些不正确的措辞,我只是想知道是否可以这样做?

通常,我们正在处理MVC耦合,我们会将ModelViewControllerView作为参数返回Controller作为返回的Models/Json,所以我们可以将View绑定到Model

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

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

1 个答案:

答案 0 :(得分:0)

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

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