在剃须刀视图中呈现其他控制器方法

Render other controller method in razor view

据我所知,视图绑定到控制器的操作方法,如 PatientControllerDetails 操作方法结果在 Patient->Details.cshtml 中实现 Views文件夹。

我的问题是如何调用另一个控制器操作方法,例如调用 AppointmentIndex(我在 Patient 中实现了一个简单的搜索 Index(string ID)) Details 以及如何呈现或显示结果。

我在里面试过了 Details(患者)

<form asp-controller="Appointments" asp-action="Index" asp-route-id="ID" method="get">
    <p>
        <dl class="row">
            <dt class="col-sm-2">
                @Html.DisplayNameFor(m => m.ID)
            </dt>
            <dd class="col-sm-10">
                @Html.DisplayFor(model => m.ID)
            </dd>
        </dl>
    </p>
</form>

但那是渲染 Patient ID 属性.

这是一个演示:

模型A:

public class ModelA
    {
        public string ID { get; set; }
    }

控制器:

public IActionResult Index()
        {
            return View(new ModelA { ID="sampleID"});
        }

B控制器:

public IActionResult Index(string id)
        {
            return View();
        }

A/Index.cshtml:

<h1>ControllerA/Index</h1>
<form asp-controller="B" asp-action="Index" asp-route-id=@Model.ID method="get">
    <p>
        <dl class="row">
            <dt class="col-sm-2">
                @Html.DisplayNameFor(m => m.ID)
            </dt>
            <dd class="col-sm-10">
                @Html.DisplayFor(model => model.ID)
            </dd>
        </dl>
    </p>
    <input type="submit" value="submit"/>
</form>

B/Index.cshtml:

<h1>ControllerB/Index</h1>

结果: