asp.net mvc 的 视图(view )的模块化开发
主视图:
子视图BottomTags
如此,子视图可无缝接合于主视图矣。
发布日期:2021-06-30 17:23:13
浏览次数:2
分类:技术文章
本文共 1797 字,大约阅读时间需要 5 分钟。
目前所在项目有一个视图,几个模块都涉及到,对应不同的开发人员,虽然有SVN在管理,但代码冲突时有发生。并且大家的代码挤于其中,逻辑比较容易混乱。
将不同部件独立出去,实有必要。
分离方式,我知道的有 3 种:
1、利用JS动态加载子视图
将分离内容放置在一个视图里面,视图还可以对应有控制器。主视图加载过程中,或者运行过程中,再用JS去请求、加载这个子视图:
var div = ...var url = "@Url.Content("~/controller/GetDataByView?id=")" + id;getViewRequest(url, {}, function(data){ div.empty().html(data); });function getViewRequest(url, params, onsuccess, onerror) { $.ajax( { type: 'get', url: url, data: params, contentType: "text/html; charset=utf-8", success: function (data) { if (onsuccess != undefined && onsuccess != null) { onsuccess(data); } }, error: function (data) { if (onerror != undefined && onerror != null) { onerror(data); } } });}
2、Html.RenderAction
这个与1的区别主要是加载方式不同。1是主视图出来后,在前端用JS动态加载,会比较迟才出来;2是与主视图一同输出到前端。
2与3的区别在于,2的数据来源于控制器,3的数据来源于主视图。3没有控制器。
有关Html.RenderAction,可见拙作:
3、Html.RenderPartial
相当于shtml里面的inclue,<!--#include virtual="/template/css.htm"-->。只是接入一个视图,该视图并没有控制器。数据可由主视图传送给它。
下面是具体的例子:
主视图控制器:
主视图:
其中,BottomTags是子视图名称(BottomTags.cshtml),ViewBag.TagArray是传给它的Model。一定要强制转换,不能直接用ViewBag。
子视图BottomTags
如此,子视图可无缝接合于主视图矣。
转载地址:https://leftfist.blog.csdn.net/article/details/43234629 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
网站不错 人气很旺了 加油
[***.192.178.218]2024年04月16日 20时09分38秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
java类的构成
2019-04-30
创建安装linux:centOS
2019-04-30
Xshell连接CentOS及安装hadoop的准备
2019-04-30
在linux上配置jdk和hadoop
2019-04-30
HDFS配置及常见命令
2019-04-30
xshell连接linux速度很慢或者连接一段时间后会自动断
2019-04-30
Hadoop Windows插件配置
2019-04-30
存储 HDFS内部运行原理
2019-04-30
二丶存储+分析处理信息MapReduce内部原理
2019-04-30
static代码块设置全局变量和eclipse java配好HDFS类对HDFS的操作
2019-04-30
在Eclipse上安装Hadoop插件
2019-04-30
Java架构师必须掌握哪些技术?
2019-04-30
学习Python语言具应用领域有哪些?
2019-04-30
五分钟带你了解,前端的发展历程及工作职责!
2019-04-30
未来UI设计趋势,你了解吗?
2019-04-30
Java程序员面试有妙招,助你逆袭成功!
2019-04-30
互联网的行业都有哪些岗位?
2019-04-30
Java程序员掌握哪些技能才能拿到满意薪资?
2019-04-30
IT企业对于程序员学历是怎样看待的呢?
2019-04-30
HTML5前端开发有哪些优势?
2019-04-30