ASP.NET的视图(Razor)循环产生html代码

news/2024/7/3 11:12:06

需要要视图中Razor语法,循环产生一些html代码。

产生后的html是这样的:


 <li data-transition="fade" data-slotamount="7" data-masterspeed="1500">
                    <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="0"
                         data-speed="1000"
                         data-start="1800"
                         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="7" data-masterspeed="1500">
                            <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="0"
                                 data-speed="1000"
                                 data-start="1800"
                                 data-easing="Power4.easeOut">
                                <h1>
                                    @item.Title
                                </h1>
                            </div>
                        </li>
                    }
Source Code

 

快的原因,foreach方法,直接可以写html代码。

 

转载于:https://www.cnblogs.com/insus/p/5497979.html


http://www.niftyadmin.cn/n/2675414.html

相关文章

【AtCoder】【AGC009D】Uninity

Description 给出一棵树&#xff0c;要求确认一种点分治策略&#xff0c;使得点分树的深度最小。 Solution 显然&#xff0c;答案的上界为log&#xff08;然并卵&#xff09;。 我们先定义点权&#xff0c;一个点的点权为它在点分树上的深度&#xff0c; 显然&#xff0c;…

西游记人物

package com.hanqi;public class Xiyouji2 {String Name;double Height;String Weapon;void printName(){System.out.println(Name);}void printWeapon(){System.out.println("武器&#xff1a; "Weapon);}public static void main(String[] args){Xiyouji2 XiYouJiR…

Microsoft更新Cosmos DB,提供Cassandra支持,提高可用性保证

在上个月的Connect 2017大会上&#xff0c;Microsoft新发布了多个Azure Cosmos DB更新&#xff0c;其中包括支持使用Cassandra NoSQL数据库的API&#xff0c;以及更高的可用性保证。这样&#xff0c;用户可以在Cosmos DB内使用针对Cassandra NoSQL数据库的API去操作数据模型。此…

【AtCoder】【ARC064F】Rotated Palindromes

Description 求有多少个序列满足以下条件&#xff1a; 1. 序列有n位&#xff1b; 2. 序列的每位为1~m之间的整数&#xff1b; 3. 这个序列经过旋转以后可以变成一个回文串&#xff1b; Solution 这是一个悲惨的故事…..想了一天多&#xff0c;一直在想怎么减掉不合法的&…

网站常见的反爬虫和应对方法

这几天在爬一个网站&#xff0c;网站做了很多反爬虫工作&#xff0c;爬起来有些艰难&#xff0c;花了一些时间才绕过反爬虫。在这里把我写爬虫以来遇到的各种反爬虫策略和应对的方法总结一下。 从功能上来讲&#xff0c;爬虫一般分为数据采集&#xff0c;处理&#xff0c;储存三…

Android系统层Watchdog机制源码分析

一&#xff1a;为什么需要看门狗? Watchdog,初次见到这个词语是在大学的单片机书上, 谈到了看门狗定时器. 在很早以前那个单片机刚发展的时候, 单片机容易受到外界工作影响, 导致自己的程序跑飞, 因此有了看门狗的保护机制, 即:需要每多少时间内都去喂狗, 如果不喂狗, 看门狗将…

【AtCoder】【ARC072F】Dam

Description 有一坐体积为m的水库&#xff0c;每天早上会有水流进来&#xff0c;晚上会放水&#xff0c; 每天流进来的水的温度和体积都可能不同&#xff0c;俩温度不同的水混合后的温度为&#xff1a;t1∗v1t2∗v2v1v2t1∗v1t2∗v2v1v2&#xff0c; 假设水的温度不受其他因…

SQL——实例记录(日期函数转换)

{转} 一般有以下几种转换方式&#xff0c;可根据实际需要选用&#xff1a; select Convert(varchar(10),getdate(),120)2006-05-12 select CONVERT(varchar, getdate(), 120 )2006-05-12 11:06:08 select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),-,), ,),:…