ASP.NET的视图(Razor)循环产生html代码
2024-10-19 02:14:33
需要要视图中Razor语法,循环产生一些html代码。
产生后的html是这样的:
<li data-transition="fade" data-slotamount="" data-masterspeed="">
<img src="~/Content/img/slider-images/XXX1111.jpg" alt="XXX2222">
<div class="tp-caption tp-resizeme sfb fadeout white-color very_large_text"
data-x="center"
data-y="center"
data-voffset=""
data-speed=""
data-start=""
data-easing="Power4.easeOut">
<h1>
XXX3333
</h1>
</div>
</li>
Source Code
上面的图片中,只是高亮部分不相同。
最懒的主法,循环几次,拷贝与粘贴几次,然后修改不相同(高亮)的代码。
第二种方法,使用C#的循环产生:
SliderEntity se = new SliderEntity();
se.Sliders().ForEach(delegate (Slider s)
{
WriteLiteral("<li data-transition=\"fade\" data-slotamount=\"7\" data-masterspeed=\"1500\">");
WriteLiteral("<img src=\"" + Url.Content("~/Content/img/slider-images/" + s.ImageUrl) + "\" alt=\"" + s.Description + "\"/>");
WriteLiteral("<div class=\"tp-caption tp-resizeme sfb fadeout white-color very_large_text\"");
WriteLiteral("data-x=\"center\"");
WriteLiteral("data-y=\"center\"");
WriteLiteral("data-voffset=\"0\"");
WriteLiteral("data-speed=\"1000\"");
WriteLiteral("data-start=\"1800\"");
WriteLiteral("data-easing=\"Power4.easeOut\">");
WriteLiteral("<h1>");
WriteLiteral(s.Title);
WriteLiteral("</h1>");
WriteLiteral("</div>");
WriteLiteral("</li>");
});
Source Code
这种方法,会比第一种方法好,毕竟它已经使用了Foreach方法了。不过在创建这个方法时,也得花上不少时间。使用"\"来处理双引号的问题。
第三种,Insus.NET想到,直接使用Razor的foreach方法,它也是循环,不过它神奇的快速实现:
@foreach (var item in (new SliderEntity()).Sliders())
{
<li data-transition="fade" data-slotamount="" data-masterspeed="">
<img src="~/Content/img/slider-images/@item.ImageUrl" alt=@item.Description>
<div class="tp-caption tp-resizeme sfb fadeout white-color very_large_text"
data-x="center"
data-y="center"
data-voffset=""
data-speed=""
data-start=""
data-easing="Power4.easeOut">
<h1>
@item.Title
</h1>
</div>
</li>
}
Source Code
快的原因,foreach方法,直接可以写html代码。
最新文章
- C++Primer学习笔记(1)
- Ignite用户配置管理介绍
- [转]史上最全最强SpringMVC详细示例实战教程
- UTF-8 GBK GB2312 之间的区别和关系
- BZOJ 1018 堵塞的交通traffic(线段树)
- Visual Studio 2012 使用SvcUtil在MVC4客户端引用WCF服务
- NSString的常用方法
- html中上标、下标、删除字、小号字等
- 【翻译自mos文章】v$undostat视图没有依照每10分钟进行更新,v$undostat仅仅有1行(one rows)
- 使用Gradle编译release apk报错:Please correct the above warnings first
- [QT]简单介绍一下 *.pro、*.pri、*.prf、*.prl等四种文件
- js原生设计模式——10适配器模式之参数适配器
- Python库:序列化和反序列化模块pickle介绍
- 分析uboot中 make xxx_config过程
- docker容器日志收集方案汇总评价总结
- 详解Java内存区域?虚拟机类加载机制?
- jmeter源码导入eclipse并完成编译
- VMware Workstation11安装Mac OS X 10.10虚拟机
- html中相对(relative),绝对(absolute)位置以及float的学习和使用案例 (转)
- 使用python爬取整本《盗墓笔记》
热门文章
- JQuery 复制粘贴上传图片插件(textarea 和 tinyMCE)
- 【基于WPF+OneNote+Oracle的中文图片识别系统阶段总结】之篇一:WPF常用知识以及本项目设计总结
- ASP.NET MVC原理
- Win10 UWP开发系列——开源控件库:UWPCommunityToolkit
- ASP.NET MVC一次删除多笔记录
- C# 用SoapUI调试WCF服务接口(WCF中包含用户名密码的验证)
- 【Star CCM+实例】开发一个简单的计算流程.md
- WebAPI
- 全球HTTPS时代已来,你跟上了吗?
- 关于VS2015支持编译Linux程序的问题