在ASP.Net MVC2中使用部分视图和microsoft ajax发布集合

时间:2012-01-13 13:04:39

标签: ajax asp.net-mvc-2 microsoft-ajax

我正在使用带有ajax.beginform的局部视图。在该部分视图页面中,我有以下标记 的修改

<%
using (Ajax.BeginForm("ManageDataSources", "DataSources", saveAjaxOptions))
{
%>....
<td>
                <%: Html.Hidden("DataSource_Id", dataSource.Id, new { @class = "DataSource_Id" })%>
                <%: Html.TextBox("DataSource_Name", dataSource.Name, new { @class = "DataSource_Name" })%>
            </td>
 <tr class="queryParameters" style="display: block">

        <td colspan="2" align="center">

            <input id="Text1" name="parametername" type="text" />

            <input id="Text2" name="parametervalue" type="text" />

            <input id="Text3" name="parametername" type="text" />

            <input id="Text4" name="parametervalue" type="text" />

            <input id="Text5" name="parametername" type="text" />

            <input id="Text6" name="parametervalue" type="text" />

            <input id="Text7" name="parametername" type="text" />

            <input id="Text8" name="parametervalue" type="text" />

            <input id="Text9" name="parametername" type="text" />

            <input id="Text10" name="parametervalue" type="text" />

        </td>

    </tr>

并且在控制器中,我有这个模型用于表示数据

public class DataSourceViewModel
{
    public string DataSource_Id { get; set; }
    public string DataSource_Name { get; set; }
    public List<SCParams> parameters { get; set; }
}

public class SCParams
{
    public string parametername { get; set; }
    public string parametervalue { get; set; }
}

修改

public ActionResult ManageDataSources(DataSourceViewModel dsvm)
        {
            return PartialView("ManageDataSources");
        }

当我发布数据时,这些参数名和参数值根本没有绑定到对象列表。我该怎么做呢。我正在使用microsoft ajax并希望在不使用其他插件的情况下执行此操作。请建议正确的方法。

编辑

这是从chrome

获取的标题中的数据
DataSource_Id:
DataSource_Name:Name
parametername:a
parametervalue:1
parametername:q
parametervalue:2
parametername:z
parametervalue:3
parametername:s
parametervalue:4
parametername:w
parametervalue:5
x:15
y:12

1 个答案:

答案 0 :(得分:1)

据我所知,您拥有主要的详细结构,并希望获得它的控制器。如果是这样的话。然后有两种可能性,你的细节部分有可变长度细节部分或固定长度细节部分。您可以在帖子here后面查看可变长度和固定长度。对于固定长度,您也可以关注here

您将收到以下签名

的模型
public ActionResult ManageDataSources(DataSourceViewModel dsvm)

此外,您还可以检查formcollection参数以获取actionresult

       [HttpPost]
        public ActionResult MyAction(FormCollection collection)