ASP.NET MVC框架问题(思考+求助)

lovehz 2008-11-13 07:27:06
ASP.NET MVC框架通过MVC的模式,从C——》M——》V
问题1:这样的话只能针对每个V写好C,假设现在针对Index视图模板写了取新闻列表的control,但是后来我想把图片栏目列表加到Index视图中去,那不是还要去修改Index的control文件,编译?
问题2:A页面的我写了取热点栏目列表Control,render到视图,那如果B页面也需要那不是也要调用一下取热点栏目的方法?而且这种类似的方法可要可不要,不要了,放在control中不是多余,成了累赘。
我的想法:扩展Helper,把每个不同栏目的的取出list的功能做成一个标签形式,比如:<%=html.getpiclist(栏目ID,数量)%> 然后foreach一下,这样就可以在任何V页面调用了。
我想听听大家的意见,这种办法是不是可行,如果可行要怎么实现。谢谢
...全文
215 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
lovehz 2008-11-14
  • 打赏
  • 举报
回复
可能是我没说清楚问题,很拗口 难表达 各位继续帮忙 谢谢
Jack123 2008-11-14
  • 打赏
  • 举报
回复
up
lovehongyun 2008-11-14
  • 打赏
  • 举报
回复
还没开始研究.-_-!
lovehz 2008-11-14
  • 打赏
  • 举报
回复
那我觉得现在这个MVC框架和CodeBehind的形式本质上没什么分别,貌似就是在CodeBehind中把cs文件和aspx文件放在不同的目录而已,呵呵
enihs 2008-11-14
  • 打赏
  • 举报
回复
问题1:我觉得楼主是不是想岔了,你所描述的这种变化相当于视图层有变化而且,视图层上要显示的内容也有变化,这样这个视图层的变化和这个视图层所对应的controller变化在所难免。
问题2:这个描述很现实,就好比MVC模式下的控件,你有好几个页面都要用,那当然就把这个控件单独做出来,然后哪个页面要用就只需要引用下就好了哦
chinaxc 2008-11-14
  • 打赏
  • 举报
回复
回帖是一种美德!传说每天回帖即可获得 10 分可用分!
hy_lihuan 2008-11-14
  • 打赏
  • 举报
回复
埃,没有研究
Apple 2008-11-14
  • 打赏
  • 举报
回复
呵,飘过~~~设计模式虽好~~~
孤独侠客123 2008-11-14
  • 打赏
  • 举报
回复

我觉得并一定会这样,我们现在有业务层,业务层主要处理相应的业务逻辑.然后在Controller里通过业务层获取数据,传递给前台view.
所以即使加一些数据,也只是多了个业务层调用.

比如 ViewData["topicList"] = TopicManager.GetTop(2);//这样并不麻烦,而且可以很清晰的看到这个视力中返回的数据

如果你实现连这样都不想用,其实我们现在用的是ajax请求controller的action.所以可以通过jquery请求controler的action.这样每一个action都可以在任何地方使用.当然这可能主要在适合的地方使用.



iloveaspnet2008 2008-11-14
  • 打赏
  • 举报
回复
顶! 回帖是一种美德!传说每天回帖即可获得 10 分可用分!
编程有钱人了 2008-11-14
  • 打赏
  • 举报
回复
up
mengxj85 2008-11-14
  • 打赏
  • 举报
回复
  • 打赏
  • 举报
回复
这个mvc项目很久了,是如果用它开发一个GridView同样多特性的控件会比现在GridView控件用起来更方便吗?我还没有观察到它的自然延展的基本可用架构。
  • 打赏
  • 举报
回复
开发其实不可能是为了一时之名的学究气的,而应该是千锤百炼的工程化的,因此那些适合放到大学里当作两、三堂课的素材的理论未必适合成熟实用,只有基础理论的探索意义。

一个跟界面相关的完整的开发,我只相信组件式的。也就是说,组件A可以显示界面、处理交互、处理后台数据持久化,而多个同样架构的组件可以直接拼接成为更大的架构(并且相互之间可以事件回调),或者干脆还要支持继承。这才是基本的可以长期使用的组件架构。如果为了某种时髦而探索的“架构”,只能当作探索。

所谓架构,即是说它是为了“将来”出现的插件而开发的,而不是什么枚举所有可能性。如果你能够枚举所有可能性,就好像说“把一只猴子放在电脑前足够长时间它一定可以写出微软的windows 7操作系统程序”,这是真理(因为不能单从逻辑上证伪),但是这是荒诞的真理。枚举所有可能性,就是忘记了开发时实际需求是千变万化的。
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 sally__wang 的回复:]
呵,飘过~~~设计模式虽好~~~
[/Quote]

这跟设计模式没有什么关系。
lovehz 2008-11-14
  • 打赏
  • 举报
回复
难道没膏袖吗?
hornbills 2008-11-13
  • 打赏
  • 举报
回复
问题1:control是具有一定弹性的,可以理解为每一个view都由一个完全不同的control来控制管理,这是一个极端,另外还有一个极端,每个view同时又保持高度的结构化,以至于view的变化完全不同修改原有的任何代码,只需要添加新的代码。这里举个例子。

比如index页面的布局。三列,每列都可以添加相应的模块或者控件。按照以上两种思想有两种极端的做法。
1、第一种,每增加一个模块,就手动修改页面,在原有的模块下面新增控件,并修改相应的代码。
2、第二种,定义好新模块的外观和功能,新增模块通过函数完成。

实际操作往往是在两种极端模式中寻求平衡。

问题2:这样做当然好,但是用法还是有些问题。modelA.getpiclist(数量),或者modelB.getpiclist(数量)这样更符合面向对象的编程方式
xlg888 2008-11-13
  • 打赏
  • 举报
回复
UP
mjjzg 2008-11-13
  • 打赏
  • 举报
回复
没在这方面深入研究过,顶一下再说
gengwanshanreally 2008-11-13
  • 打赏
  • 举报
回复
没看懂,先顶一下,关注
加载更多回复(1)

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧