强引用类型生成的菜单,如何在其他控制器view页面使用?

问题描述

小弟是asp.netmvc新手,遇到一个实际问题求教。我生成一个menu菜单,采用EF生成了一个强力型的部分视图。想在其他页面使用这个菜单,出现错误。传入字典的模型项的类型为“Web_XXX.Models.IndexViewModel”,但此字典需要类型“System.Collections.Generic.IEnumerable`1[Web_XXX.Models.Channal]”的模型项。由此我想问问,大家的菜单都是怎么生成的?是强力类型的吗?怎么保证各个控制器的view都可以使用这个菜单?是怎么一个结构?

解决方案

解决方案二:
应该是你action中传给View(Model)的Model对象和cshtml中引用的对象不一致吧?
解决方案三:
引用1楼hanjun0612的回复:

应该是你action中传给View(Model)的Model对象和cshtml中引用的对象不一致吧?

您说的没错。我的设想中,menu应该是放在_layout.cshtml中的,但是这个menu是强类型的,有冲突。您一般是怎么处理menu的?还有个问题,mvc开发网站,怎么设置后台的路由变成admin/article/add的样式?需要新建area命名为admin?
解决方案四:
第一个问题,如果你在一个页面中需要用到两个对象,那么其中一个对象可以保存到View["MyModel"]中,然后在view中转换(MyModel)View["MyModel"]。这样使用。另一个,就是直接用@Model就可以了第二个问题设置路由的话,你可以到RouteConfig中,增加新的路由规则。你的可能是这样的routes.MapRoute(name:"Default",url:"admin/{controller}/{action}/{id}",defaults:new{controller="Login",action="Login",id=UrlParameter.Optional});

时间: 2024-09-28 22:16:52

强引用类型生成的菜单,如何在其他控制器view页面使用?的相关文章

用XSLT生成网页菜单

菜单|网页 [声明]本文已在<程序员>杂志发表.本站转载纯属个人学习和珍藏之举,绝无侵犯版权之嫌.如作者或相关出版商认为转载有何不妥,请来信告知,必立即删除!另,在此对原文的排版格式作了一些修改,但原文未改动一字. [演示]观看本文最终结果演示页面请 单击这里 [正文] 一. 概述一个好的导航 (navigation) 系统能增加网页的可读性和美观性,尤其是当网站内容比较丰富时,其逻辑结构更加需要用好导航系统来组织,使得网页读者知道其所在的位置以及还有那些内容可以浏览.导航系统中很重要的一

asp.net TreeView递归循环子节点生成树形菜单实例_实用技巧

本文实例讲述了asp.net TreeView递归循环子节点生成树形菜单的方法.分享给大家供大家参考,具体如下: 这里主要用到递归循环获取子结点 /// <summary> /// 生成根节点 /// </summary> /// <param name="treeview"></param> protected void BindTreeView(long ID, TreeView treeview) { DataTable dt =

javascript动态生成树形菜单的方法_javascript技巧

本文实例讲述了javascript动态生成树形菜单的方法.分享给大家供大家参考,具体如下: //======================================== //Envrionment to hold Listeners //======================================== tv_listeners = new Array() ; function listener( type , handler ) { this.type = type ;

vs2010 文件读写-visual studio 2010 随机生成5个10以内的加法式,为何生成1个式子就跳回编程页面,需要重新运行才行

问题描述 visual studio 2010 随机生成5个10以内的加法式,为何生成1个式子就跳回编程页面,需要重新运行才行 #include #include #include void main() { int a,b; srand(time(0)); a=rand()%10; b=rand()%10; printf("%d+%d=n",a,b); } 解决方案 没有写循环,只随机了一次 解决方案二: 从哪里可以看出来是五个呢

Ajax按需读取数据生成下级菜单

ajax|菜单|数据 jilian.htm[复制此代码]CODE:<script language="javascript"> var http_request=false; function send_request(url){//初始化,指定处理函数,发送请求的函数 http_request=false; //开始初始化XMLHttpRequest对象 if(window.XMLHttpRequest){//Mozilla浏览器 http_request=new XML

Java操作XML动态生成级联菜单

Menu.JSP源码 menu .btn input{ background:#FF6600; border-left:1px #FFFFFF solid; border-top:1px #FFFFFF solid; border-right:1px #990000 solid; border-bottom:1px #990000 solid; padding-top:4px; color:#FFFFFF; } function newItem(ele){ var pNode; var pdiv

winfrom中要生成如下菜单应该如果实现??急!!!!!!!!

问题描述 如下图所示,现在想要生成右边这样的菜单项,如果怎么做 解决方案 解决方案二:右边的是一些button按钮与几个图片按钮以及线条组成的,你可以自己画一下啊.winform的窗口上面就可以实现这些功能的.

用jquery生成二级菜单的实例代码_jquery

javascript 页面中的函数 复制代码 代码如下: function querySub(id,sid/*选中的项*/){$.post('${path}/page/article/querySubChannelArticle.action',                 {'channelId':id},function(data){                     $('select[name="article.subChannel.subId"] option[va

js读取json数据并生成级联菜单

性能优化的话,应该主要是减少for的次数. 思路:先整体for一遍,能创建的先创建,碰到父级项目还没创建的子项目,先用个数组cache起来,等for结束,所有的父级项目都创建完成了,然后把cache的项目加进去,这样应该可以减少一些循环次数. 情况一:如果JSON能够按照项目的层级排序,把父级项目都放在前面的话,只要一次for就可以全部搞定. 情况二:如果大多数父级项目都排在后面的话,可能反而增加了for的次数,不过应该比楼主的方法还是要节省一些,最多只有两次for. <!DOCTYPE htm