Кто-нибудь, пожалуйста, помогите мне вернуть этот список правильно с моей точки зрения. Я не понимаю, почему я возвращаю null для своего fieldModelList. Я пытаюсь передать его контроллеру ...
Вот мое мнение:
@model List<Regions.SOA.UI.CopyBookSchemaCreator.Models.FieldModel>
<script type="text/javascript" src="~/Scripts/jquery-ui-1.8.11.min.js"></script>
@using (Html.BeginForm("GetResponse", "TestMethods", FormMethod.Post))
{
<table id="tblMethods">
<tr>
<th>
Property Name
</th>
<th>
Request
</th>
</tr>
@foreach (FieldModel fieldModel in Model)
{
<tr>
<td>
@Html.DisplayFor(m => fieldModel.PropertyName)
</td>
<td>
@Html.TextBoxFor(m => fieldModel.PropertyValue)
</td>
</tr>
}
</table>
<div>
<input type="submit"/>
</div>
и вот мой контроллер:
[HttpPost]
public ActionResult GetResponse(List<FieldModel> fieldModelList)
{
return GetResponse(fieldModelList);
}
Я нажимаю метод HttpPost но если я помещаю точку останова прямо внутри нее, я сразу же возвращаю null для fieldModelList, который, как я надеялся, будет списком значений, которые я ввел в тексбоксы в представлении модели FieldModel ...
Я думаю, что что-то не так с моей логикой по сравнению с моим синтаксисом или, может быть, с моим синтаксисом, но в основном я хочу вернуть обратно список типа FieldModel с каждым соответствующим PropertyName и PropertyValue в контроллер. Я заметил, что я не передаю какой-либо параметр id в моем операторе BeginForm в представлении. Мне здесь нужен?
На всякий случай вот мой модельный класс для FieldModel:
namespace Regions.SOA.UI.CopyBookSchemaCreator.Models
{
public class FieldModel
{
[Display(Name = "Property")]
public string PropertyName { get; set; }
[Display(Name = "Value")]
public string PropertyValue { get; set; }
}
}