【问题标题】:kendo multiselect, send selected values to controller剑道多选,将选定的值发送到控制器
【发布时间】:2013-10-16 08:55:38
【问题描述】:

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

我在一个带有多选的窗口中有一个局部视图,该多选从数据库中接收其值。视图如下:

@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; 

}

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

提前感谢您的帮助

【问题讨论】:

  • 我想你会得到以逗号分隔格式选择的值。您需要拆分它并获取单独的选定值。

标签: asp.net-mvc kendo-ui multi-select kendo-asp.net-mvc


【解决方案1】:

我认为你有两个选择:

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

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

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

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

【讨论】:

    猜你喜欢
    • 2017-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-19
    • 2013-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多