c# - 如何区分 Kendo / Telerik TabStrip for MVC 中选定选项卡中输入的值
问题描述
我有一个部分视图,里面有一个表单,我使用 Kendo Tabstrip 将其拆分为地址类型的下拉列表(数据库中的现有地址)和一个自由文本地址输入字段。
下拉列表位于第一个选项卡上,文本位于第二个选项卡上。
当我提交表单时,当我在文本输入选项卡上时,我看到选定的下拉列表被发送到控制器。如何确保从表单提交的当前表中发送数据?
这是视图
@{
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>
}
解决方案
这两个小部件(即使通过标签条分开)仍保留在同一个表单元素中。表单发送所有具有 name 属性的输入 - 在这种情况下,DropDownList 和 TextBox 的值。
一种解决方法是为标签条的每个标签制作一个不同的表单元素。
另一种选择是处理表单的提交事件并重组将要发送的参数。
推荐阅读
- ios - 如何将启动屏幕状态栏颜色设置为白色?
- html - 删除表格中两行小按钮之间的空格
- regex - 用 CL-PPCRE 匹配行尾
- spring - HttpSecurity 配置不适用于 Spring 上的 Keycloak 适配器
- python - for 循环执行
- python - 导入脚本时如何在函数之间传递变量,sense self.function 在导入代码时不起作用
- amazon-ec2 - 无法在 AWS ssh 中建立主机的真实性
- java - 如何使用 Queue 元素填充 ComboBox?
- node.js - Node js socket.io 需要验证请求和服务器响应
- c# - XPATH 搜索下一个节点