如何区分 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 控制器中不为空的字段。
我有一个内部表单的部分视图,我使用 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 控制器中不为空的字段。