我正在使用以下帖子类型:
<% using (Html.BeginForm())
{ %>
<%= Html.Hidden("EligiblePages", Model.EligiblePages) %>
.... no elements in list appear
$('.btnAction').click(function() {
$.post("Home/AddProduct", $('form').serialize(), function(retval) { $('#addProductDialog').html(retval); });
});
public class ProductViewModel
{
public List<string> EligibleProducts { get; set; }
}
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult AddProduct(string sender, ProductViewModel model)
{
...
}
我会在回家后更新这个,并且可以组合一个更精确的例子。
在我发布的 ViewModel 中,我有一个 list<string>
作为隐藏的输入字段。出于某种原因,当发布发生时,我检查了该字段未正确显示的 Controller 发布方法。有什么想法吗?
最佳答案
<%
for(int i=0;i<Model.EligiblePages.Count;i++)
Html.HiddenFor(model=>model.EligiblePages[i]);
%>
这将渲染隐藏的输入元素,并在调用 Controller 函数 AddProduct 时适本地实现您的模型。
关于c# - asp.net mvc jquery $.post 列表<字符串>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7799798/