这是我的观看代码:
@model pedidosOnlineMVC.Models.ViewModel.AdmView
@using pedidosOnlineMVC.Models
@{
Layout = "~/Views/Administrador/_LayoutAdm.cshtml";
List<Usuario> lu = pedidosOnlineMVC.Controllers.UsuarioController.favoreds(Model.adm.estabelecimento.Estabelecimento_Id);
}
@using (var f = Html.Bootstrap().Begin(new Form()))
{
using (var p = Html.Bootstrap().Begin(new Panel()))
{
using (var t = Html.Bootstrap().Begin(new Table()))
{
using (var h = t.BeginHeader())
{
using(var hr = h.BeginHeaderRow())
{
@hr.Cell("Usuário")
@hr.Cell("Status")
}
}
using(var b = t.BeginBody())
{
for(int i=0;i<lu.Count;i++)
{
using(var c = b.BeginRow())
{
@f.FormGroup().CustomControls(Html.HiddenFor(model => model.Usuario_Id[i], lu[i].Usuario_Id))
@c.Cell(lu[i].nome)
@c.Cell(f.FormGroup().CustomControls(Html.Bootstrap().CheckBoxFor(model=>model.checkAuts[i])))
}
}
}
}
using (var pf = p.BeginFooter())
{
@f.FormGroup().CustomControls(@Html.HiddenFor(model => model.adm.Administrador_Id, Model.adm.Administrador_Id))
@f.FormGroup().CustomControls(Html.Bootstrap().SubmitButton().Text("Autorizar"))
}
}
}
我在这里遇到了类似的问题:cshtml page not passing date value on post,但我所做的却不起作用。
我尝试在开发人员工具中查看网络窗口,我可以看到在帖子上发送的ID值(Administrador_ID
和Usuario_ID
),但它们从未到达我的控制器。
这是控制器的代码:
[HttpPost]
public ActionResult autCli(AdmView adm)
{
return null;
}
它没有代码,因为我仍然没有让它工作,但参数在调试时仍然可以工作,但我在每个属性中都得到NULL。 如果有人可以提供帮助,我会很感激。
AdmView模型,根据要求:
public class AdmView
{
public Administrador adm { get; set; }
public Produto prod { get; set; }
public virtual List<bool> checkAuts { get; set; }
public virtual List<int> Usuario_Id { get; set; }
}
答案 0 :(得分:0)
在ActionResult方法之前添加[HttpPost]
。
答案 1 :(得分:0)
尝试使用FormCollection将数据从视图传递到控制器。
就像这样:
[HttpPost]
public ActionResult autCli(FormCollection collection)
{
strint Usuario_Id = collection["Usuario_Id"]; //You can get data with this way...
return View();
}
查看this question了解详情。