Размещение коллекций с использованием частичных представлений и Microsoft Ajax в ASP.NET MVC2
-
28-10-2019 - |
Вопрос
Я использую частичный вид с 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
Решение
Что я понимаю, у вас есть основная структура детализации, и вы хотите получить ИТ -контроллер. Если это так. Тогда есть две возможности, либо в вашей детальной части, есть детальная часть с переменной длиной или часть с фиксированной длиной. Вы можете следить за постом здесь Для переменной длины, а также фиксированной длины. Для фиксированной длины вы также можете следовать здесь.
Вы получите модель в следующей подписи
public ActionResult ManageDataSources(DataSourceViewModel dsvm)
Более того, вы также можете проверить formcollection
Параметр для ActionResult
[HttpPost]
public ActionResult MyAction(FormCollection collection)