c# - asp.net mvc jquery $.post 列表<字符串>

标签 c# jquery asp.net-mvc

我正在使用以下帖子类型:

<% 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/

相关文章:

javascript - .load() 使所有ajax加载的div刷新

javascript - 使用 Ajax 将数据从 Knockout 发送到 Controller

jquery - 检查div是否为空问题

php - 使用 Jquery 将字符串更改为某种固定格式

c# - MVC2 中的可选和命名参数、语言规范

c# - 多次调用 OnAuthorization

c# - 执行 catch 语句中的所有内容而不会引发更多错误

c# - 抛出并保留堆栈跟踪,而不是代码分析所描述的那样

c# - Google Protocol Buffer - 将消息从 C# 客户端发送到 java 服务器

c# - 只有一个对象时将 XML 转换为 Json 数组