MVC视图的简单联动

这次做的是一个联动,根据渠道与品类得相应的MD。

function InquireMD(obj, cbtm, ml) {
            if (cbtm == ‘CooperationMode‘) {
                var varCC = obj.value;            //品类
                var varCM = $("#" + cbtm).val();  //渠道
            }
            else if (cbtm == ‘Category‘) {
                var varCM = obj.value;                 //渠道
                var varCC = $("#" + cbtm).val();       //品类
            }
            if (varCM != ‘‘ && varCC!=‘‘) {
                $.ajax({
                    type: "Post",
                    data: { CategoryCode: varCC, CooperationMode: varCM },
                    url: "/home/selectmdmanage",
                    datatype: "json",
                    success: function (result) {
                        var strArea;
                        if (result.success) {
                            for (var item in result.data) {
                                strArea += "<option value=‘‘>--选择MD--</option>";
                                strArea += "<option value=‘" + result.data[item].MdCode + "‘>" + result.data[item].Name + "</option>";
                            }
                            if (strArea != null) {
                                $("#" + ml).html(strArea);
                            }
                            else {
                                strArea += "<option value=‘‘>--选择MD--</option>";
                                $("#" + ml).html(strArea);
                            }
                        }
                        else {
                        }
                    }
                });
            }
        }

        function victCM(cbtm)
        {
            var varCM = $("#" + cbtm).val();
            if (varCM == ‘‘) {
                alert("请先选择合作渠道");
            }
        }

以上是jquery的两个方法,InquireMD是当渠道与品类发生改变时的操作,传的参数分别是本身对象、品类标签或者渠道标签的Id、MD标签的id。为什么设置第二个参数是不定的,是因为为了使得渠道与品类可以共用一个方法,当然这样做就避免不了验证,所以有了判断cbtm的值。victCM是验证当在单品类是渠道是否为空,为空不允许选择品类。具体功能就是选择渠道后选择品类则出现对应MD,或者是你已经在数据库中保存了渠道与品类,此时你在不修改品类的情况下修改了渠道还是会刷新对应的MD。

<label>
    <span>合作渠道 :</span>
    @Html.DropDownList("CooperationMode", null, "--合作意向--", new { placeholder = "合作意向", req = "true", onchange = "InquireMD(this,‘Category‘,‘MdList‘)", })
    <font style="color: Red;">*</font></label>
<label>
    <span>合作品类 :</span>
    @Html.DropDownList("Category", null, "--合作品类--", new { placeholder = "合作品类", req = "true", onchange = "InquireMD(this,‘CooperationMode‘,‘MdList‘)", onclick = "victCM(‘CooperationMode‘)" })
    <font style="color: Red;">*</font>
</label>
<label>
    <span></span><font color="red">若事先已联系MD请选择对应的MD,否则请忽略此项</font>
</label>
<label>
    <span>选择MD :</span>
    @Html.DropDownList("MdList", null, "--选择MD--", new { placeholder = "选择MD", req = "false" })
</label>

控制器方法也看一下,返回json格式的数据,具体的操作就不贴了。

        //[Authorize] 身份过滤器        /// <summary>
        /// 根据合作品类与渠道查询对应md
        /// </summary>
        /// <param name="CategoryCode">合作品类</param>
        /// <param name="CooperationMode">合作渠道</param>
        /// <returns></returns>
        public ActionResult SelectMdManage(string CategoryCode,string CooperationMode)
        {
            var mdList = _mdService.GetSqlMdmanages(CategoryCode, CooperationMode);
            JsonTransaction<MdManage> transaction = new JsonTransaction<MdManage>();
            var mdListNew = transaction.TransactionList(mdList);
            return Json(new { success = true, data = mdListNew }, JsonRequestBehavior.AllowGet);
        }

在这里接触到了过滤器,一个是url的一个过滤,一个是身份过滤。当我在视图中写ajax时,如何都不能够访问到控制器中的SelectMdManage方法,原来是设置了url的过滤,过滤以后有机会再交流。

时间: 2024-10-06 23:53:18

MVC视图的简单联动的相关文章

MVC 视图的简单学习

视图学习第一阶段:http://www.cnblogs.com/meetyy/p/3464432.html 视图学习第二阶段:http://www.cnblogs.com/meetyy/p/3466538.html

MVC视图简单介绍(内部使用)

上一章说到了Controller,并且返回了字符串类型,但是用户界面往往不是简单的字符串可以满足的,所以MVC就有了视图(View) 视图的职责是向用户提供用户界面的, 下面我们新建一个View @{ Layout = null; } <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width" /> <title

ASP.NET MVC 视图(一)

ASP.NET MVC 视图(一) 前言 从本篇开始就进入到了MVC中的视图部分,在前面的一些篇幅中或多或少的对视图和视图中的一些对象的运用进行了描述,不过毕竟不是视图篇幅说的不全面,本篇首先为大家讲解一下自定义视图引擎的定义和使用,由此慢慢的来了解视图引擎以及视图模块的工作过程. ASP.NETMVC 视图 l 自定义视图引擎简易示例 l Razor视图引擎执行过程 l  Razor视图的依赖注入.自定义视图辅助器 l  分段.分部视图的使用 l  Razor语法.视图辅助器 自定义视图引擎

使用TT模板+mvc+wcf实现简单查询

伴随着春姑娘调皮的脚步,小编接手的档案管理项目也渐渐步入正轨,从开始的需求分析,到使用Axure画原型图,再到使用powerdesigner设计实体,生成数据库,一直到昨天刚刚通了一条线,这一路走来,小编懂得了很多,无路学习还是和团队小伙伴的交流合作,有时候,总是会因为大家意见不统一,搞的大家吹胡子瞪眼,但有时也会因为某件事情圆满成功而欢欣鼓舞,小组中最开心的事儿莫过于有人开会迟到买吃的了,哈哈,暴露了小编的本质,开头说了这么多,接下来,小编就跟分享一下,如果利用TT模板+mvc+wcf实现简单

ASP.NET MVC 视图(二)

ASP.NET MVC 视图(二) 前言 上篇中对于视图引擎只是做了简单的演示,对于真正的理解视图引擎的工作过程可能还有点模糊,本篇将会对由MVC框架提供给我们的Razor视图引擎的整个执行过程做一个粗略的讲解,目的在于让大家对Razor视图引擎的执行过程留个印象以便联想的思考到视图引擎的作用以及视图在MVC框架中的表示. ASP.NET MVC 视图 自定义视图引擎 Razor视图引擎执行过程 Razor视图的依赖注入.自定义视图辅助器 分段.分部视图的使用 Razor语法.视图辅助器 Raz

Spring MVC +MyBatis +MySQL 简单的登录查询 Demo 解决了mybatis异常

忙活了大半天,饭也没顾得上吃,哎许久不动手,一动手就出事,下面请看今天的重头戏,额吃个饭回来再发了! 1.整体结构 2.准备工作 数据库: --Mysql 5.6 创建数据库 wolf CREATE DATABASE wolf; 创建用户表 user create table user( id int  AUTO_INCREMENT  primary key, name varchar(25) not null, pwd varchar(20) not null, create_time dat

ASP.NET MVC 视图(三)

ASP.NET MVC 视图(三) 前言 上篇对于Razor视图引擎和视图的类型做了大概的讲解,想必大家对视图的本身也有所了解,本篇将利用IoC框架对视图的实现进行依赖注入,在此过程过会让大家更了解的视图,最后还会简单的介绍一下自定义的视图辅助器是怎么定义和使用的. ASP.NET MVC 视图 l  自定义视图引擎 l Razor视图引擎执行过程 l Razor视图的依赖注入.自定义视图辅助器 l  分段.分部视图的使用 l  Razor语法.视图辅助器   Razor视图的依赖注入 首先我们

在 asp.net mvc中的简单分页算法

//第一步:建立如下分页实体类:namespace MVCPager.Helpers { /// <summary> /// 简单分页算法类 /// </summary> public class Pager { public int RecordCount { get; set; } public int PageIndex { get; set; } public int PageSize { get; set; } public int PageCount { get { r

ASP.NET MVC 视图(四)

ASP.NET MVC 视图(四) 前言 上篇对于利用IoC框架对视图的实现进行依赖注入,最后还简单的介绍一下自定义的视图辅助器是怎么定义和使用的,对于Razor语法的细节和辅助器的使用下篇会说讲到,本篇来讲解一下视图中的分段概念.和分部视图的使用. ASP.NET MVC 视图 自定义视图引擎 Razor视图引擎执行过程 Razor视图的依赖注入.自定义视图辅助器 分段.分部视图的使用 Razor语法.视图辅助器 分段.分部视图的使用 分段的使用 在ASP.NET MVC框架的Razor引擎中