У меня есть модель, как показано нижеотправлять обратно значение флажка в MVC
public class security
{
public long id { get; set; }
public long user_id { get; set; }
public long submenu_id { get; set; }
public long module_id { get; set; }
public long flag { get; set; }
public string module { get; set; }
public string submenu { get; set; }
}
, в котором flag
будет 1
, если пользователь имеет доступ к этому меню еще 0
Я могу показать это в вид с помощью pagedlist
@foreach (var item in Model)
{
<tr class="">
<td>
@if (item.flag == 1)
{
<input type="checkbox" name="flags[]" checked="checked" id="@item.id" value="1" />
}
else
{
<input type="checkbox" name="flags[]" id="@item.id" value="0" />
}
</td>
<td>@Html.DisplayFor(modelItem => item.module) </td>
<td> @Html.DisplayFor(modelItem => item.submenu)</td>
</tr>
}
это даст выход ниже
Здесь пользователь имеет доступ к 5
меню и доступа к 1
Теперь администратор может изменить привилегии проверки и убрав галочки.
Мой пост ActionResult подпись ниже
public ActionResult security(client_module_security c1,string[] flags)
{
}
, но это не размещение обратно значения здесь и строка флаг содержат только проверенные номера. Снимок экрана ниже
Пожалуйста, поправьте меня, если моя логика плохо. Какие изменения необходимо внести для обновления?
Потому что вы даете каждому флажку значение '1' или '0'. Измените его на 'value =" @ item.id ", а затем вы получите идентификаторы отмеченных флажков –
И если вы хотите опубликовать обратные значения для' security', тогда вам нужно сгенерировать элементы управления формой для свойств ' security' –
@StephenMuecke ok got it..value = "@ item.id" предоставит весь идентификатор, который был проверен. Так что он может быть обновлен как 1, а не в массиве, может быть обновлен как 0..thanks .. опубликуйте его как ответ .. я отметю его .. – Sachu