0

在 MVC 4 视图中,我在提交期间将值分配给隐藏。但是我没有将该值返回给控制器。这是我的代码

@model Web.Models.FeaturedContactViewModel
@using (Html.BeginForm("Update", "User", FormMethod.Post))
{
    @Html.HiddenFor(m => m.FeaturedSelected);
   <input type="submit" value="Update" onclick="return onSubmit()" />
}
@section scripts
{
<script type="text/javascript">
    function onSubmit() {

        var selectedOptions = $.map($('#FeaturedContacts option'),
                               function (e) { return $(e).val(); });
        $("#FeaturedSelected").val(selectedOptions.join(","));
        return true;
    };
</script>
}

控制器

[HttpPost]
    public ActionResult FeaturedContacts(FeaturedContactViewModel model)
    {
        return View();
    }

FeaturedContactViewModel

public class FeaturedContactViewModel
{
    public List<Contact> AllContacts { get; set; }

    public List<Contact> FeaturedContacts { get; set; }

    public int[] AllSelected { get; set; }
    public int[] FeaturedSelected { get; set; }
}
4

1 回答 1

0

看起来您没有取回值的原因是因为您已将它们定义为整数数组,当在视图的 HTML 中,您将值作为字符串获取。因此,您的视图模型的数组不会被填充。如果您将 FeatureSelected 定义为字符串 [],您会在控制器中取回值吗?您始终可以在控制器中将它们转换为整数。

于 2013-05-02T13:49:11.743 回答