我有两个组件-Catalog和Catalog.Inventory。调用详细信息页面/Detail/{id}
时,目录组件将查找配置为显示在该页面上并执行Html.Action()
的组件。
问题是,将数据提交到适当的控制器的一种干净方法是什么?
我可以将每个表单包含在其自己的选项卡中,并在每个选项卡上具有一个“保存”按钮,但是多个保存按钮只会使用户感到沮丧。
Catalog / View.cshtml
@using(Html.BeginForm()..)
{
<button type="submit">Save</button>
var tabCollection = _tabManager.GetTabsFor("thispage");
<div class="nav-tabs">
<div class="tab">General Info</div>
@foreach(var tab in tabCollection)
{ <div class="tab">@tab.TabTitle</div> }
</div>
<div class="content">
{
<div class="content"> /* Catalog Fields */</div>
@foreach(var tab in tabCollection)
{
// the View of this action will have its own <form>
@Html.Action(tab.Action, tab.Controller, new{id = Model.Id});
}
}
}