Публикация коллекций с использованием частичных представлений и Microsoft Ajax в ASP.Net MVC2 - PullRequest
0 голосов
/ 13 января 2012

Я использую частичное представление с ajax.beginform. На этой частичной странице просмотра у меня есть следующая разметка EDIT

<%
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; }
}

EDIT

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

когда я публикую данные, эти имя параметра и значения параметров вообще не связаны со списком объектов. Как мне это сделать. Я использую Microsoft AJAX и хочу сделать это без использования других плагинов. Пожалуйста, предложите правильный путь.

РЕДАКТИРОВАТЬ

Это данные в шапке взяты из хрома

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 Ответ

1 голос
/ 13 января 2012

Насколько я понимаю, у вас есть основная структура деталей, и вы хотите получить ее контроллером. если это так. тогда есть две возможности, либо ваша часть детализации имеет часть детализации переменной длины или часть детализации фиксированной длины. Вы можете следовать за сообщением здесь для переменной длины, а также фиксированной длины. Для фиксированной длины вы также можете следовать здесь .

Вы получите модель в следующей подписи

public ActionResult ManageDataSources(DataSourceViewModel dsvm)

Кроме того, вы можете также проверить параметр formcollection для actionresult

       [HttpPost]
        public ActionResult MyAction(FormCollection collection)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...