在剃须刀视图中呈现其他控制器方法
Render other controller method in razor view
据我所知,视图绑定到控制器的操作方法,如 PatientController
的 Details
操作方法结果在 Patient->Details.cshtml
中实现 Views
文件夹。
我的问题是如何调用另一个控制器操作方法,例如调用 Appointment
的 Index
(我在 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>
结果:
据我所知,视图绑定到控制器的操作方法,如 PatientController
的 Details
操作方法结果在 Patient->Details.cshtml
中实现 Views
文件夹。
我的问题是如何调用另一个控制器操作方法,例如调用 Appointment
的 Index
(我在 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>
结果: