Я не могу на всю жизнь понять, что я делаю неправильно.
У меня есть класс SearchModel
, который мое представление наследует от
public class SearchModel
{
public String Something { get; set; }
public List<SearchField> SearchFields { get; set; }
}
public class SearchField
{
[XmlIgnore]
public Boolean Include { get; set; }
[XmlAttribute("Required")]
public Boolean Required { get; set; }
[XmlAttribute("Field")]
public String FieldName { get; set; }
[XmlText]
public String DisplayName { get; set; }
[XmlIgnore]
public FilterMethod FilterOperator { get; set; }
[XmlIgnore]
public String Value { get; set; }
}
У меня есть контроллер с именем SearchController
public ActionResult Index()
{
SearchModel model = new SearchModel
{
Something = "Hello",
SearchFields = customer.Config.Fields
};
return View(model);
}
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Index(SearchModel searchModel)
{
return View("Index", searchModel);
}
Страница индекса SearchController содержит это для отображения полей
<% using (Html.BeginForm())
{%>
<%= Html.TextBox("Something", Model.Something) %>
<% for (int i = 0; i < Model.SearchFields.Count; i++)
{
%>
<%= Html.Label(Model.SearchFields[i].DisplayName) %>
<%= Html.DropDownListFor(x => x.SearchFields[i].FilterOperator, Model.SearchFields[i].FilterOperator.ToSelectList(), new { @class = "textField" })%>
<%= Html.TextBoxFor(x => x.SearchFields[i].Value) %>
<%= Html.ValidationMessageFor(x => x.SearchFields[i].Value) %>
<% } %>
<button type="submit" value="Search" class="SearchBtn">
Search</button>
<% } %>
Когда я изменяю значение свойства SearchField .Value и нажимаю кнопку отправки, он отправляет сообщение в метод public ActionResult Index(SearchModel searchModel)
.
Переменная searchModel содержит коллекцию SearchFields
, однако только свойства "Value
" и "FilterOperator
" не равны нулю.
Как я могу включить другие свойства в сообщение, даже если я не хочу явно перечислять их в форме?
На этом изображении ниже показаны значения, отправляемые на страницу отображения "index"
Это изображение ниже показывает вывод из POST