找到多个与名为“user”的控制器匹配的类型 两个Area 解决办法

项目架构:两个Area 一个 Admin,一个User,两个Area里面都有重名的控制器UserControl,结果报错

通过搜索,网站的一致解决办法为,在路由里面用namespaces限定 如下

在区域Member Admin和最外层的RouteConfig.cs限定

结果Admin/User/index、User/User/Index正常,/AAA/这种不存在的控制器返回404也正常,但是当访问到/User/index/的时候仍然出现上述错误,花了2个多小时找问题,最后发现必须要在RouteConfig.cs里添加一个参数才可以DataTokens[“UseNamespaceFallback”] = false

最终结果:

至此全部正常,有点坑爹,关于DataTokens[“UseNamespaceFallback”] ,默认为true,设置为false,则只在当前设置的命名空间内匹配规则,而不会去到其他的命名空间里查找匹配。

坑爹的地方在于如果不设置DataTokens[“UseNamespaceFallback”] =false,他会去所有的命名空间下查找User,最终在Area下查找到重名的两个控制器,然后报错,不匹配了还报什么错,直接返回404就完事,日

echarts宽度 100px的问题 % px

在使用echarts的时候发现echarts的宽度变成了100px,明明设置的是100%,一般出现这种情况是在tab切换或者bootstrap的模态框里面,原因是当tab或者modal在隐藏的时候,无法获取到他的宽度值,echarts默认100px的宽度,我用的是bootstrap的modal,解决办法:

第一步、使用modal的shown.bs.modal方法获取弹出框的宽度。

官方文档:当模态框对用户来说可见时(需要等待CSS过渡完成),会触发该事件。如果是由点击引起的,被点击的元素是可用的,成为Event对象的relatedTarget属性。

第二步、使用echarts的resize方法,重新设置大小。

echarts的数据模型生成 C# 用户组织架构图

用户上下级关系、层级关系全部循环到一个Model里面去

 

bootstrap 表头中文导致换行的问题

另外 table-responsive一定要加到table的外面的容器里去,如果加到table上,会造成thead不会100%的情况,如

显示如下:

正确的方法是

html向后台传参的几个注意事项

1、MVC的Action参数如 Add(string a),如果页面选择了复选框,那么此时a的值是1,只能获取第一个值
2、如果没有选择任何复选框,则a的值为null,此时获取需要Add(string[] a)来获取,获取之后需要判断是否为null
3、Request.Form[“a”] 如果选择了复选框,那么此时Request.Form[“a”]值是1或者1,2或者2,如果没选复选框则值是null
4、

文本框,不管填没填内容都不会是null,如果全为空,则Request.Form[“a”]和mvc的string [] a 的结果都是 空字符,空字符