FineUI 官方论坛

标题: 【非BUG】F.CheckBoxFor无法获取值的BUG [打印本页]

作者: capfhz    时间: 2017-1-7 14:42
标题: 【非BUG】F.CheckBoxFor无法获取值的BUG
F.CheckBoxFor无法获取值的BUG

作者: sanshi    时间: 2017-1-7 16:43
非BUG,你要理解一个重要的概念,MVC中所有你要在后台获取的值,都要在前台传入。

FineUIMvc提供了一个非常简单的方便,通过传入面板的ID值就行了:

  1. @{
  2.     ViewBag.Title = "Hello";
  3.     var F = @Html.F();
  4. }

  5. @model FineUIMvc.EmptyProject.Models.test

  6. @section body {

  7.     @(F.Button()
  8.         .Text("点击弹出对话框")
  9.         .ID("btnHello")
  10.         .OnClick(Url.Action("btnHello_Click"), "Panel1")
  11.     )

  12.     @(F.Panel()
  13.             .ID("Panel1")
  14.             .Items(
  15.                 F.TextAreaFor(m => m.name),
  16.                 F.CheckBoxFor(m => m.isEnable)
  17.             )
  18.     )

  19. }
复制代码

  1. public ActionResult Hello()
  2. {
  3.         var add = new test();
  4.         add.name = " 测试F.CheckBoxFor,无法获取状态";
  5.         add.isEnable = true;
  6.         return View(add);
  7. }

  8. [HttpPost]
  9. [ValidateAntiForgeryToken]
  10. public ActionResult btnHello_Click([Bind(Include ="name,isEnable")] test test1)
  11. {
  12.         if (test1.isEnable)
  13.         {
  14.                 Alert.ShowInTop("选中", MessageBoxIcon.Warning);
  15.         }
  16.         else
  17.         {
  18.                 Alert.ShowInTop("没有选中", MessageBoxIcon.Warning);
  19.         }
  20.         

  21.         return UIHelper.Result();
  22. }
复制代码


注意,我只修改了两个地方:
1. 指定需要传入后台的数据为Panel1面板里的控件:.OnClick(Url.Action("btnHello_Click"), "Panel1")
2. 面板定义为Panel1,方便引用:F.Panel().ID("Panel1")


[attach]9643[/attach]





作者: capfhz    时间: 2017-1-7 17:17
sanshi 发表于 2017-1-7 16:43
非BUG,你要理解一个重要的概念,MVC中所有你要在后台获取的值,都要在前台传入。

FineUIMvc提供了一个非 ...

套在这里面真的不行

作者: capfhz    时间: 2017-1-8 10:11
btnEdit_Click([Bind(Include = "ID,ActionName,EnActionName,ActionIcon,ActionType,IsDel,IsEnable,StorIndex,CreateName,CreateTime,UpdateName,UpdateTime,Remark")] Sys_Action sys_Action),
找到原因了,原来是,没有在这里面加IsEnable属性,谢谢
作者: jerry_wRiaM    时间: 2017-1-8 18:23
Bind  在这里也不是必须的,直接也是可以接收到数据的.

btnEdit_Click(Sys_Action sys_Action)




欢迎光临 FineUI 官方论坛 (https://fineui.com/BBS/) Powered by Discuz! X3.4