Model1:Модель Связывание динамического созданного DropDownList
public class Model1
{
public int Id { get; set; }
public int VariantId { get; set; }
public string Name { get; set; }
public string Language { get; set; }
public IList<Model2> ListModel2{ get; set; }
public VmSysVariantResource()
{
ListModel2=new List<Model2>();
}
}
Model2:
public class Model2
{
public int Id { get; set; }
public int ParamterId { get; set; }
public int ValueId { get; set; }
[Required]
public string SelectedValue { get; set; }
public string ParameterName { get; set; }
public IList<PossibleValue> Values { get; set; }
public IList<SelectListItem> ValuesSelectListItem
{
get
{
var list = (from item in Values
select new SelectListItem()
{
Text = item.ValueName,
Value = item.Id
}).ToList();
return list;
}
set { }
}
}
PossibleValue:
public class PossibleValue
{
public int Id { get; set; }
public string ValueName { get; set; }
}
Теперь экспликации аб что я хочу сделать: Предположим, у нас есть одна модель «Модель1». Эта модель имеет список Model2. Model2 содержит ParameterName и список возможных значений. Теперь у меня есть форма, как это:
@using (Ajax.BeginForm("Action", "Controller", null,
new AjaxOptions
{
HttpMethod = "POST"
}))
{
<table class="sample" style="margin: 0 auto; width: 400px">
<tr>
<td>
@Resource.Name:
</td>
<td> @Html.TextBoxFor(c => c.Name)
</td>
</tr>
@foreach (var item in Model.ParamtersToValue)
{
<tr>
<td>
@item.Parameter:
</td>
<td>
@Html.DropDownList("ParamtersToValue", @item.ValuesSelectListItem)
</td>
</tr>
}
</table>
<input type="submit" value="Submit"/>
}
О методе пост в контроллере Я хочу, чтобы получить Model1 со списком ListModel2. Это мой пост метод:
[HttpPost]
public ActionResult MyAction(Model1 obj)
{ }
я ожидал получить на пост метода Model1 с ListModel2, который будет содержать SelectedValue выбранного из выпадающего списка, но я не уверен, как построить раскрывающееся меню внутри Еогеасп блока для обеспечения модели привязки к Работа. Любое предложение будет оценено. Спасибо ..
Большое спасибо. Я заработал. –
Нет проблем. Рад помочь :) –