gpt4 book ai didi

asp.net-mvc - kendo multiselect,将选定的值发送到 Controller

转载 作者:行者123 更新时间:2023-12-01 16:36:19 25 4
gpt4 key购买 nike

我是 ASP.NET mvc 和 kendo ui 框架的新手,并且遇到以下问题:

我在一个带有多选的窗口中有一个部分 View ,它从数据库中接收其值。 View 看起来像:

@model SoftwareAdminInterface.Models.Administration.Pattern
<div id="myContentPopupEditRole_div">

@using (Ajax.BeginForm("SetCombi", "Pattern", new { }, new AjaxOptions() { HttpMethod = "post", UpdateTargetId = "myContentPopupEditRole_div" }))
{
<center>
<br />
<table class="table_no_borders">
<tr>
<td style="width: 300px">
@(
Html.Kendo().MultiSelectFor(model => model.RegExId)
.MaxSelectedItems(2)
.Name("RegExID")
.DataTextField("RegExName")
.DataValueField("RegExID")
.Placeholder("Select Patterns...")
.AutoBind(false)
.DataSource(source => {
source.Read(read =>
{
read.Action("GetPatternsForCombi", "Pattern");
})
.ServerFiltering(true);
})
)
</td>
</tr>
</table>
<button class="k-button k-button-icontext k-grid-custom" id="get" type="submit">@Resources.General.BtnSave</button>
</center>
}
</div>

我使用的模型如下所示:

public class Pattern
{
[ScaffoldColumn(false)]
public int RegExID { get; set; }

[Display(Name = "RegEx")]
[Required]
public string RegExName { get; set; }

[UIHint("GridForeignKey")]
public int CategoryID { get; set; }

public string CategoryName { get; set; }

public string ColumnName { get; set; }

public string RegExTable { get; set; }

[UIHint("GridForeignKey")]
public int? TableID { get; set; }

public string Version { get; set; }

public string Description { get; set;

}

在模式 Controller 中调用的 SetCombi 函数中,我只想接收多选中选定对象的两个 ID,但我不知道如何将它们发送到 Controller 。

提前感谢您的帮助

最佳答案

我认为你有两个选择:

1)将 RegExID 更改为 string,然后我相信它们会以逗号分隔值的形式出现。

2) (更好的选择)添加一个 ViewModel,它具有许多与上面的 Pattern 模型相同的属性。主要区别在于您将拥有

public List<int> RegExIDs { get; set; }

然后在 Controller 中,您将新的 ViewModel 作为 post 方法的参数,并根据需要解析列表中的值。

关于asp.net-mvc - kendo multiselect,将选定的值发送到 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19399021/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com