加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

mvc partialView+kendo window

发布时间:2020-12-14 02:35:18 所属栏目:Windows 来源:网络整理
导读:在写mvc项目时,一个列表查询页面含有多个操作按钮及弹框操作。原本写在了一个view中,导致代码繁多复杂,难以维护,还有表单赋值清空、验证等麻烦。 因此改用kendo window +partialView的方式,代码清洁,方便维护。也可以实现复用。 1、当前view中添加kend

在写mvc项目时,一个列表查询页面含有多个操作按钮及弹框操作。原本写在了一个view中,导致代码繁多复杂,难以维护,还有表单赋值清空、验证等麻烦。

因此改用kendo window +partialView的方式,代码清洁,方便维护。也可以实现复用。

1、当前view中添加kendo window?弹框

@(Html.Kendo().Window()
      .Name("partialViewWindow")
      .Title(Resources.OrderCheckFreeEquipmentScrap)
      .Modal(true)
      .Content(@<text>
                   <div id="partialViewDiv"></div>
                </text>)
      .Draggable()
      .Resizable()
      .Width(600)
      .Visible(false)
      .Actions(actions => actions.Close())
      )

2、grid列表操作一行时,弹出操作框

  function agreeDrop(e) {
            var dataItem = $("#EquipmentGrid").data("kendoGrid").dataItem($(e).closest("tr"));
            var url = "@Url.Action("AgreeDropEquipment","OrderCheckManage",new { id = "__id__" })";
            $("#partialViewDiv").load(url.replace("__id__",dataItem.Id));
            $("#partialViewWindow").data("kendoWindow").center().open();
        }

3、controller?action代码

        [HttpGet]
        public ActionResult AgreeDropEquipment(int id)
        {

            EquipmentDropModel model=new EquipmentDropModel
            {
                Id = id
            };
            return PartialView(model);
        }


        [HttpPost]
        public ActionResult AgreeDropEquipment(EquipmentDropModel model)
        {
            try
            {
                var userId = UserId();
                _commonService.ScrapEquipment(model.Id,model.DepreciationYear,model.SalvageValue,model.Comment,userId);
                return RedirectToAction("Index","OrderCheckManage");
            }
            catch (Exception exp)
            {
                _commonService.SaveLog(exp.ToString());
                throw;
            }
        }

4、PartialView

@model DMS.WEB.Models.EquipmentDropModel
<form action="@Url.Action("AgreeDropEquipment","OrderCheckManage")" method="post" class="panel panel-default form-horizontal panel-body">
    <div class="form-group">
        @Html.HiddenFor(m => m.Id)
        @Html.RequiredIndicatorLabelFor(m => m.DepreciationYear,new { @class = "col-sm-3 control-label no-padding-right" })
        <div class="col-sm-7">
            @Html.TextBoxFor(m => m.DepreciationYear,"",new { @class = "form-control popupwindowinput" })
        </div>
    </div>
    <div class="form-group">
        @Html.RequiredIndicatorLabelFor(m => m.SalvageValue,new { @class = "col-sm-3 control-label no-padding-right" })
        <div class="col-sm-7">
            @Html.TextBoxFor(m => m.SalvageValue,new { @class = "form-control popupwindowinput" })
        </div>
    </div>
    <div class="form-group">
        @Html.RequiredIndicatorLabelFor(m => m.Comment,new { @class = "col-sm-3 control-label no-padding-right" })
        <div class="col-sm-7">
            @Html.TextAreaFor(m => m.Comment,new { @class = "form-control",rows = 3 })
        </div>
    </div>
    <div class="form-group">
        <div class="text-center">
            <button class="btn  btn-info" type="submit">
                @Resources.CommonButtonSubmit
            </button>
            @*<button class="btn btn-info margin-left-5 closeWindowBtn" type="button">
                    @Resources.CommonButtonCancle
                </button>*@
        </div>
    </div>
</form>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读