FineUI 官方论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

本论坛已关闭(禁止注册、发帖和回复)
请移步 三石和他的朋友们

FineUI首页 WebForms - MVC & Core - JavaScript 常见问题 - QQ群 - 十周年征文活动

FineUI(开源版) 下载源代码 - 下载空项目 - 获取ExtJS - 文档 在线示例 - 版本更新 - 捐赠作者 - 教程

升级到 ASP.NET Core 3.1,快、快、快! 全新ASP.NET Core,比WebForms还简单! 欢迎加入【三石和他的朋友们】(基础版下载)

搜索
查看: 5145|回复: 4
打印 上一主题 下一主题

【非BUG】F.CheckBoxFor无法获取值的BUG

[复制链接]
跳转到指定楼层
楼主
发表于 2017-1-7 14:42:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
F.CheckBoxFor无法获取值的BUG

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
沙发
发表于 2017-1-7 16:43:55 | 只看该作者
非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")







本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
板凳
 楼主| 发表于 2017-1-7 17:17:52 | 只看该作者
sanshi 发表于 2017-1-7 16:43
非BUG,你要理解一个重要的概念,MVC中所有你要在后台获取的值,都要在前台传入。

FineUIMvc提供了一个非 ...

套在这里面真的不行

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
地板
 楼主| 发表于 2017-1-8 10:11:31 | 只看该作者
btnEdit_Click([Bind(Include = "ID,ActionName,EnActionName,ActionIcon,ActionType,IsDel,IsEnable,StorIndex,CreateName,CreateTime,UpdateName,UpdateTime,Remark")] Sys_Action sys_Action),
找到原因了,原来是,没有在这里面加IsEnable属性,谢谢
5#
发表于 2017-1-8 18:23:30 | 只看该作者
Bind  在这里也不是必须的,直接也是可以接收到数据的.

btnEdit_Click(Sys_Action sys_Action)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|FineUI 官方论坛 ( 皖ICP备2021006167号-1 )

GMT+8, 2024-4-27 23:34 , Processed in 0.048688 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表