提交包含不同组件的组件表单

时间:2019-04-07 07:59:01

标签: c# asp.net razor model-view-controller

我有两个组件-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});
       }
   }
}

0 个答案:

没有答案