У меня есть несколько форм на странице cshtml. Первая из этих форм правильно связывается, но мне не удалось получить вторую привязку. Каждый раз, когда я нажимаю кнопку отправки, все переданные значения равны 0 или null (int и stings соответственно)привязка модели и sumbit button mvc4
Моя модель содержит два объекта. AccountInfo и список AccountSettings:
public class AccountDetailViewRequest
{
public Account AccountInfo { get; set; }
public List<AccountSettings> Settings { get; set; }
}
public class AccountSettings
{
public int AccountID;
public string Name;
public string Value;
public int ID;
}
Мои действия. Первое действие, которое работает правильно, а второе - нет.
public ActionResult UpdateAccountDetails(Account model)
{...}
public ActionResult DeleteSetting(AccountSettings model)
{...}
В моей странице cshtml У меня есть этот блок, который работает правильно
@using (Html.BeginForm("UpdateAccountDetails", "Account"))
{
<input type = "hidden" name = "AccountInfo.AcctID" value = @Model.AccountInfo.AcctID />
<table>
<tr>
<td>Company @Html.TextBox("AccountInfo.Company")</td>
<--More text boxes here-->
</tr>
<tr>
<td><input name="Save" type="submit" value="Save Changes"/></td>
</tr>
</table>
}
Позже на странице у меня есть этот блок. Когда я использую связанную кнопку отправки, вызывается функция, но все параметры равны 0 или null независимо от содержимого текстовых полей. Ящики заполняются должным образом из моей БД, когда я просматриваю исходный код.
@for (int index = 0; index < Model.Settings.Count; index++)
{
var setting = Model.Settings[index];
using (Html.BeginForm("DeleteSetting", "Account"))
{
<tr>
<td>@Html.TextBox("Name", @Model.Settings[index].Name)</td>
<td>@Html.TextBox("Value", setting.Value)</td>
@Html.Hidden("ID", setting.ID)
@Html.Hidden("AccountID", Model.AccountInfo.AcctID)
<td><input type="submit" value="Delete"/></td>
</tr>
}
}
Я пробовал несколько различных вариантов синтаксиса, но, похоже, не может быть прав. Предложения, решения и ресурсы приветствуются. Спасибо заранее.