FineUI 官方论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

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

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

搜索
查看: 2155|回复: 1
打印 上一主题 下一主题

下拉列表选中项改变form表单控件

[复制链接]
跳转到指定楼层
楼主
发表于 2019-4-24 11:43:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
前端页面:
F.Panel().ShowBorder(false).ShowHeader(false).ID("panelTop").Layout(LayoutType.HBox).Items(
                                F.DropDownList().ID("PointSelect").DataTextField("Value").DataValueField("Key").Width(120).DataSource(ViewBag.ddlPoint),
                                F.DropDownList().ID("Record").Required(true).DataTextField("Value").DataValueField("Key").AutoSelectFirstItem(false).EmptyText("点击选择记载项")
                                .OnSelectedIndexChanged(Url.Action("DoSearchPaging"), "DataEnterGrid", new Parameter("Layout_detailId", "F.ui.Layout_detailId.getText().replace(/<[^>]+>/g, '')"),new Parameter("recordId", "F.ui.Record.getValue()"))
                                .Width(150).MarginLeft(5).DataSource(ViewBag.recordName),
                                F.Form().ID("diffInputForm").Width(150).MarginLeft(5).Layout(LayoutType.Fit).ShowBorder(false).ShowHeader(false).Items(ViewBag.DiffInput),

Controller:
[HttpPost]
[ValidateAntiForgeryToken]
    public ActionResult DoSearchPaging(FormCollection values, long? Layout_detailId, long? recordId)
        {
            DoPageRefresh(values, Layout_detailId, recordId);
            return UIHelper.Result();
        }

    public void DoPageRefresh(FormCollection values, long? Layout_detailId, long? recordId)
        {
     Pager pagerDatas = new Pager(values.GetFineUIGridPageIndex("DataEnterGrid") + 1, AppSettingsUtility.DefaultGridPageSize);
                var datasDatas = bll.GetListByPager<R_recordvalueEntity>(pagerDatas, a => a.RecordId == recordId && a.LayoutDetailId ==                Layout_detailId, PagerSortDirection.ASC, w => w.Id)
                                            .Select(b => new { b.Id, b.Point, b.Value, b.RecordId, b.EnterDate, b.Images, b.Comments }).ToList();
                List<FormInfoMode2> Form2 = new List<FormInfoMode2>();
                for (var i = 0; i < datasDatas.Count(); i++)
                {
                    FormInfoMode2 Form = new FormInfoMode2();
                    Form.Id = datasDatas.Id;
                    Form.Point = datasDatas.Point;
                    Form.Value = datasDatas.Value;
                    Form.RecordId = datasDatas.RecordId;
                    Form.EnterDate = datasDatas.EnterDate;
                    Form.Images = datasDatas.Images;
                    Form.Comments = datasDatas.Comments;
                    Form.RecordName = bll.GetEntity<R_recordEntity>(w => w.id == datasDatas.RecordId).record_name;
                    Form2.Add(Form);
                }
                var gridDatas = UIHelper.Grid("DataEnterGrid");
                gridDatas.RecordCount(pagerDatas.RecordCount);
                gridDatas.DataSource(Form2, values.GetFineUIGridFields("DataEnterGrid"));
                //根据记载项类型添加不同的数据录入框
                ViewBag.DiffInput = ChooseDiffTypeInput(recordId);
}
怎么才能给返回去?

本帖子中包含更多资源

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

x
沙发
发表于 2019-4-24 15:07:59 | 只看该作者
ViewBag只能页面初始化时使用,ViewBag表示的是从Controller到View的数据传递。

如果只有数字输入框和文本输入框等几个有限的控件切换,可以用显示隐藏的方式最简单
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-11-25 12:57 , Processed in 0.043867 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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