如何区分 Kendo/Telerik TabStrip 中选定选项卡中输入的值

How to differentiate between entered values in selected tab in Kendo / Telerik TabStrip for MVC

我有一个内部表单的部分视图,我使用 Kendo 标签条将其拆分为地址类型的下拉列表(数据库中的现有地址)和自由文本地址输入字段。

下拉列表在第一个选项卡上,文本在第二个选项卡上。

当我提交表单时,当我在文本输入选项卡上时,我看到选定的下拉列表被发送到控制器。我怎样才能确保在表单提交时发送当前 table 的数据?

这是风景


@{
   Layout = null;
}

@using (Html.BeginForm("CheckDistance", "Home", FormMethod.Post, new { @class = "form-horizontal", role = "form" }))
{
   @Html.AntiForgeryToken()
   <hr />
   @Html.ValidationSummary("", new { @class = "text-danger" })



   @(Html.Kendo().TabStrip()
     .Name("tabstrip")
     .Items(tabstrip =>
     {
       tabstrip.Add().Text("Tab 0")
           .Selected(true)
           .Content(tab => Html.Kendo().DropDownListFor(m => m.DeliveryAddress)
           .DataValueField("DeliveryAddress")
           .DataTextField("Name")
           .BindTo((System.Collections.IEnumerable)ViewData["PickupPoints"])
           .AutoWidth(true)
       );
    
       tabstrip.Add().Text("Tab 1")
           .Content(@<text>
            <div class="form-group">
           <div class="col-md-12">
               @Html.Kendo().TextBoxFor(m => m.DeliveryAddress).Placeholder("Adresse").Name("DeliveryAddressText")
           </div>
       </div>
           </text>);
     })
)




   <div class="form-group">
       <div class="col-md-offset-2 col-md-10">
           <input type="submit" class="btn btn-default" value="Continue" />
       </div>
   </div>
}

这两个小部件(即使通过标签条分开)仍然在同一个表单元素中。表单发送所有具有名称属性的输入 - 在本例中,包括 DropDownList 和 TextBox 的值。

一种解决方法是为标签条的每个标签创建一个不同的表单元素。

另一种选择是处理表单的提交事件并重组将要发送的参数。

我解决这个问题的方法是将视图模型中的值分开,每个值都有不同的字段,然后 select 控制器中不为空的字段。