Html.ForEach in Razor

Many people write ForEach extension methods for MVC WebForms views, which take a sequence and a delegate to turn each item in the sequence into HTML.

For example:

public static void ForEach<T>(this HtmlHelper html,
                              IEnumerable<T> set, 
                              Action<T> htmlWriter) {
    foreach (var item in set) {
        htmlWriter(item);
    }
}

(The unused html parameter allows it to be called as an extension method like other HTML helpers)

This code can be called like this:

<ul>
    <% Html.ForEach(
            Enumerable.Range(1, 10),
            item => { %> <li><%= item %></li> <% }
    ); %>
</ul>

This code creates a lambda expression that writes markup to the page’s response stream by ending the code block inside the lambda body. Neither the lambda expression nor the ForEach helper itself return anything; they both write directly to the response.

The List<T>.ForEach method can be called exactly the same way.

In Razor views, this method cannot easily be called directly, since Razor pages cannot put markup inside of expressions.  You can use a workaround by creating an inline helper and calling it immediately, but it would be better to rewrite the ForEach method to take an inline helper directly.

The naïve way to do that is like this:

public static IHtmlString ForEachSimple<T>(
        this HtmlHelper html,
        IEnumerable<T> set,
        Func<T, HelperResult> htmlCreator
    ) {
    return new HtmlString(String.Concat(set.Select(htmlCreator)));
}

The htmlCreator delegate, which can be passed as an inline helper, returns a HelperResult object containing the markup generated for an item.

This code uses LINQ to call htmlCreator on each item in the set (the Select call), then calls String.Concat to combine them all into one giant string.  (String.Concat will call ToString on each HelperResult, which will return the generated markup)  We could also call String.Join to put a separator, such as a newline, between every two items.

Finally, it returns an HtmlString to prevent Razor from escaping the returned HTML.

It’s equivalent to the following code using a StringBuilder (this is what String.Concat does internally)

var builder = new StringBuilder();
foreach (var item in set) {
    HelperResult result = htmlCreator(item);
    builder.Append(result.ToString());
}
return new HtmlString(builder.ToString());

This method can be called like this:

<ul>
    @Html.ForEachSimple(
        Enumerable.Range(1, 10),
        @<li>@item</li>
    );
</ul>

The problem with this approach is that it combines all of the content into a giant string.  If there are a large number of items, or if each item will have a large amount of markup, this can become (a little bit) slow.  It would be better to write each item directly to the caller’s response stream, without assembling any giant strings.  This is where HelperResult comes in.

The HelperResult class allows its caller to pass a TextWriter to the WriteTo method, and the helper delegate will write directly to this TextWriter.  I can take advantage of this to write a ForEach extension that doesn’t build any strings, by returning a HelperResult instead of a regular IHtmlString.

public static HelperResult ForEachFast<T>(
        this HtmlHelper html,
        IEnumerable<T> set,
        Func<T, HelperResult> htmlCreator
    ) {
    return new HelperResult(tw => {
        foreach (var item in set) {
            htmlCreator(item).WriteTo(tw);
        }
    });
}
This version creates a HelperResult with a delegate that writes each of its items in turn to the TextWriter.

59 comments:

Really good to know things like that

look here

The above article is nice and interesting, thank you willing to share! Greetings success of admin Percetakan Murah Rawamangun Jakarta Timur wish you deign to visit my website, thank you :)

You may want to check out this website for some tips on how to write great looking essay. Good luck with that

Excellent erudition Providing by your Article, thank you for taking the time to share with us such a nice article. Amazing insight you have on this, it's nice to find a website that details so much information about different artists. Kindly visit the LiveWebTutors website we providing the best online assignment help services in Australia.

For More Info: Law Assignment Help

mr jatt Mp3 New Punjabi Song,Single Tracks Latest song download also Listen Latest Music Albums Online in High Quality at Mrpendus.in
mr jatt

This QB database server error usually occurs when you try to install QuickBooks update or while trying to upgrade it to a newer version and the Windows firewall is still not updated, this causes the firewall to detect QBDBMgrN service as an unknown service, and it blocks its access to the internet. This error also occurs when you are using Quickbooks in multi-user mode.
Quickbooks database server error

Everyone should know about the vastu because it makes you life and future better, there are

some principles which everyone to need to follow it, the followers of vastu shastra are

prosperous and safe.


Vastu Consultant
Vastu Experts
Vastu Consultants
Southern Hemisphere Vastu
Vastu in Southern Hemisphere
Vastu for Southern Hemisphere

Amazing and infromative post, checkout this as well:-
online environmental science tutor

Excellent post! I appreciate your efforts. The sooner you will seek the help of a Best office furniture manufacturer in India. I can help you. Read the given links here.Link 1 Link 2 Link 3 Link 4 Link 5 Link 6 Link 7 Link 8

Wow.. I've been commenting since the morning, and this site has assisted rap ghostwriting me in resolving the issue. Instead of for, I used for each. loop

Thank you for sharing this content. We appreciate your efforts and hope that others will find it helpful.How To Lose Weight At Home

Great Post
Myassignmenthelp.sg has a rigorous recruitment process to ensure that we hire only the best assignment writers in Singapore. We assess their writing skills, subject knowledge, and experience to ensure that they meet our high standards.

Nice blog
Experience the convenience of College assignment online in Greece. Our skilled writers deliver top-notch papers, enabling you to meet deadlines and achieve academic success effortlessly.

It is very helpful for creating lists, tables, or other recurring structures in your web page since For Each enables you to dynamically construct HTML or other content based on a set of data.Thanks for sharing beautiful content.
local family lawyers

HTML with Razor's 'For Each' – a dynamic duo! Simplifying data presentation, it's a coding marvel. Razor's elegant syntax seamlessly integrates with HTML, making web development a breeze.
New Jersey Reckless Driving Speed
Traffic Ticket Lawyer New Jersey

This comment has been removed by the author.

Lexington reckless driving A Lexington reckless driving attorney specializes in defending individuals facing charges related to reckless driving in Lexington, VA.   Lexington reckless driving They navigate legal complexities, aiming to mitigate consequences and protect clients' rights.

A criminal lawyer's responsibilities go beyond appearing in court; they also include having a thorough understanding of all applicable local laws, statutes, and precedents. A skilled criminal defence attorney in Fairfax is capable of carefully examining the evidence, determining whether police procedures are lawful, and developing tactical defences. They guarantee that their clients receive the most efficient and modern defence by keeping up with changing legal precedents.Fairfax Virginia Criminal Lawyer

QuickBooks Enterprise Support is Intuit's most robust accounting software package, tailored for medium to large businesses. With advanced functionality like advanced inventory tracking, advanced pricing controls, and sophisticated reporting capabilities, QuickBooks Enterprise provides end-to-end financial management for complex organizations. Of course, more power means more potential for problems.

If you search for best divorce lawyers in Fairfax, Kindly visit our page. We provide best legal services. Call us anytime and anywhere. We are always ready to help you. Divorce Lawyers Fairfax VA

Flight deals from Boston provide travellers with opportunities to explore diverse destinations at discounted prices. Airlines often offer promotions and special offers for flights departing from Boston Logan International Airport (BOS) to various domestic and international destinations. These deals can include reduced fares, flash sales, and package deals that combine flights with accommodations or other travel amenities. Travellers can take advantage of these flight deals to visit popular destinations like New York City, Las Vegas, or Orlando, as well as international cities such as London, Paris, or Cancun.

Excellent post. This article is very helpful for the people and also for me. I get the some useful knowledge in this post. Thanks for sharing the informative topic, by the way. Here exhibition stand builders in munich is an artful process where creativity converges with precision engineering.

Welcome to the Philippine Airlines ticket office, your doorway to effortless travel planning! Need assistance or information? Simply dial our Philippine Airlines ticket office phone number, your direct line to personalized service and expert guidance. Whether you're securing your next adventure or modifying existing reservations, our dedicated team is at your service, ensuring every detail of your journey is meticulously handled. With a commitment to excellence and a passion for hospitality, Philippine Airlines is your trusted companion in the skies. Connect with us today through our ticket office phone number and let us turn your travel dreams into reality.

Taxlegit specializes in facilitating food license registration, ensuring compliance with food safety regulations. Our expert team provides comprehensive guidance tailored to your specific needs, streamlining the registration process. Whether you're a a food business owner or a startup in the food industry, we're here to help. With Taxlegit, you can navigate the complexities of food license registration with ease, ensuring that your business meets all necessary standards. Trust us to be your partner in achieving regulatory compliance effortlessly. Let Taxlegit pave the way for your success, ensuring that your food business operates smoothly and safely.

Blog.slaks is a dynamic platform featuring tech-centric insights, coding tutorials, and software development expertise. Dive into a plethora of topics ranging from programming languages to industry trends, tailored for both novices and seasoned professionals. Stay updated with the latest innovations and sharpen your skills with Blog.slaks.dui lawyer petersburg va





Ryanair special assistance service is designed to cater to the needs of passengers with reduced mobility or specific requirements, ensuring that all travellers have equal access to air travel. Whether passengers require assistance with boarding, disembarking, navigating the airport, or transferring between flights, Ryanair's dedicated team of professionals is on hand to provide support every step of the way.

Navigating changes to your travel itinerary can be a daunting task, but with SAS Airlines Change Flight process, it's a breeze. Whether you encounter unexpected circumstances or simply need to adjust your plans, SAS Airlines' user-friendly online interface provides a seamless experience.

Discover Joy: Top 10 Cartoons in India for Every Mood!



Embark on a nostalgic journey with Trendtoreview as we unveil the top 10 cartoons in India that have captured hearts across generations. From laughter to life lessons, our blog guides you through animated wonders that resonate with the young and young at heart. Let the animated magic unfold as we celebrate the timeless charm of Indian cartoons!

As a seasoned digital marketing strategist, I aim to help brands reach new heights in the constantly changing online space. My ability to combine creative flair, innovation, and data-driven insights allows me to craft memorable campaigns that inspire action and yield results. Targeting Success: Equipped with in-depth audience and market research, I develop laser-focused plans suited to each firm's particular objectives and aspirations. I thrive on achieving quantifiable results that go above and beyond expectations, whether it's increasing brand recognition or generating conversions. Collaborative Catalyst: I thrive at building cooperative relationships that spur development and creativity. Success is a team sport. I think that collaboration is essential to achieving group objectives, whether it is by fostering client relationships, forming strategic partnerships, or closely collaborating with cross-functional teams. Come Together: Are you prepared to improve the online visibility of your company and seize fresh opportunities? Together, let's set off on a voyage of digital exploration. I can help you steer clear of trouble in the digital age, whether you're a startup looking to create waves or an established business looking to revamp your digital strategy I recently started posting articles to healthmedsrx on subjects like ocuflox. I feel very wonderful if you glance at my work.




I am truly blessed to have you in my life. Thank you for being an amazing friend/colleague/partner. fathers rights virginia

On the off chance that you look for best separation legal advisors in Fairfax, Sympathetically visit our page. We offer best lawful types of assistance. Call us whenever and anyplace. We are generally prepared to help you. winchester traffic lawyer ||reckless driving virginia lawyer cost|| how to remove reckless driving from record in virginia

As a trusted partner for healthcare providers across India, Trident Mediquip offers a comprehensive range of safety intravenous cannulas from leading manufacturers. We understand the critical role these devices play in patient care, and our commitment to quality ensures you have access to the most advanced and reliable options available. Safety Intravenous Cannula manufacturers in India

Best growing agrochemical company with the best products like herbicides, fungicides, pesticides, etc.
Trifloxystrobin 10% | Emamectin insecticide

For a smooth travel experience at Detroit Metropolitan Wayne County Airport (DTW), remember that Spirit Airlines operates exclusively from Terminal N, also known as the North Terminal or Evans Terminal. Bypassing the McNamara Terminal, head directly to spirit airlines dtw terminal for check-in, security screening, and boarding your flight. Knowing the specific terminal beforehand can save you valuable time and keep your trip stress-free.

IPTV(Internet- based television protocol) is becoming the new trend to watch your favourite content by using M3U Playlist. It has made the TV experience better without the use of cable or satellite TV. This is the best way to watch free web series, movies, TV shows etc. One can see their favourite series, TV shows, movies, web series etc with the best quality on IPTV.

When searching for divorce lawyers nearby, consider factors such as their experience, expertise, and track record of success in handling divorce cases. Look for attorneys who prioritize your goals and are sensitive to your unique needs and concerns. Divorce lawyers near me

Blog.slaks offers insightful articles on technology, coding, and software development. With clear explanations and practical advice, it covers a range of topics to empower readers in their journey through the digital landscape. Stay informed, inspired, and ahead of the curve with blog.slaks.reckless driving lawyer virginia





I wanted to express my gratitude for the time and effort you put into creating this blog. It's evident how much passion you have for your subject matter. how much does a uncontested divorce cost in virginia

Air France JFK Terminal 1 International Airport invites travelers to experience the magic of French hospitality even before boarding the aircraft. From artistic showcases to premium lounges and culinary delights, the terminal creates an ambiance that transcends the typical airport experience. So, as you embark on your journey with Air France from JFK, take a moment to savor the unique blend of efficiency and elegance that sets this terminal apart. Bon voyage!






This post resonated with me deeply. It's comforting to know others feel the same way.
restaurant marketing agency

Taxlegit simplifies the process of Section 8 company registration online, ensuring compliance with all legal requirements. Our expert team provides comprehensive support, guiding you through every step of the registration process. With Taxlegit, you can register your Section 8 company with ease and confidence, allowing you to focus on your business goals. Trust Taxlegit for expert assistance with your Section 8 company registration online.

pathology lab near me offers outstanding service and meticulous attention to detail.

Custom Software development company in USA 's staff for their dedication to comprehending our commercial objectives and converting them into scalable

Do you know what are the reasons for Office 365 backup?
Let me tell you
Office 365 backup can help you to save your important file in PC.
Helps in Migration like Office 365 to PST.
Helps to safe the important file while file is corrupted.
If you want to know the Office 365 backup tool then do visit MailsDaddy Office 365 Backup Tool.

Offroad Tent is really easy to set up! Once pitched, the design is quite strong and intuitive.

Although initially dubious, Latisse UK has surpassed my anticipations. My lashes appear bigger and longer than they have in the past. So happy I gave it a shot.
Latisse uk

Are you in search of a little luxury? Reward yourself with a stay at one of the luxurious resorts or hotels close to Tehri Dam.
places to stay near tehri dam

I was delighted by the ultrasonic center's state-of-the-art facilities and welcoming staff when I recently visited.
Ultrasound center near me

I've finally finished registering online for Udyam! The procedure was simple to follow and easy to use.
Udyam Registration Online

CorporateAirlinesOffices your go-to resource for comprehensive details on Alaska Airlines Corporate Office Seattle, Washington. Navigating the aviation landscape begins here, as we present a thorough guide to the hub of Alaska Airlines' operational excellence. Discover key contact information, essential executive details, and insightful insights into the corporate culture that drives this renowned airline. We ensure a seamless experience as you explore the heartbeat of Alaska Airlines. Uncover the intricacies of Seattle headquarters through in-depth profiles and pertinent data, empowering you with the knowledge to connect, collaborate, and comprehend the inner workings of one of the industry's leading carriers.

Pleading guilty to reckless driving in Virginia can result in serious consequences. Penalties may include fines up to $2,500, a six-month license suspension, and potential jail time of up to 12 months. Additionally, a reckless driving conviction can lead to increased insurance rates and a permanent mark on your driving record. It's crucial to consult with a knowledgeable attorney to understand your rights and options when facing such charges in Virginia.

I am really happy to say it’s an interesting post to read. I learn new information from your blog.

Are you looking to take your business online and reach a wider audience? Look no further than our top-notch E-commerce Website Development services.
Visit Us - E-commerce Website Development
Visit Us - Website Development Service
Visit Us - E-commerce Website Development Agency

AirlinesOffices your ultimate guide to Frontier Airlines Boston Logan International Airport Terminal (BOS). Our comprehensive information hub ensures you have all the details you need for a smooth journey. From check-in procedures to boarding gates, we've got you covered. Navigate the bustling terminal with confidence, armed with insights on amenities, services, and key locations. Plan your adventure effortlessly with our website and stay informed on the latest updates. AirlinesOffices is your trusted companion, providing a stress-free travel experience. Your journey begins with knowledge, and we've got it all in one place.

CorporatesOffice your ultimate guide to Southwest Airlines Corporate Office. Our comprehensive information hub ensures you have all the details you need for a smooth journey. From check-in procedures to boarding gates, we've got you covered. Navigate the bustling terminal with confidence, armed with insights on amenities, services, and key locations. Plan your adventure effortlessly with our website and stay informed on the latest updates. CorporatesOffice is your trusted companion, providing a stress-free travel experience. Your journey begins with knowledge, and we've got it all in one place.

AirportsHubs your ultimate guide to Frontier Airlines SAN Terminal – San Diego International Airport. Navigating through the bustling hub becomes a breeze as we offer comprehensive insights into Frontier Airlines' operations and facilities. From check-in counters to departure gates, our detailed information ensures you stay informed and ahead of your journey. Uncover the terminal's amenities, dining options, and key services, allowing you to make the most of your travel experience. Trust AirportsHubs to enhance your visit to Frontier Airlines' SAN Terminal, providing you with a stress-free and enjoyable passage through San Diego International Airport. Explore with confidence, courtesy of AirportsHubs.

Discover the hassle-free way to Every Plate Cancel subscription with HowTo-Cancel. Navigating the cancellation process can be confusing, but our website guide simplifies it for you. At HowTo-Cancel, we've meticulously compiled all the essential information you need to seamlessly end your Every Plate subscription. Whether you're looking for step-by-step instructions or helpful tips, our comprehensive guide ensures a smooth cancellation experience. Say goodbye to the stress of figuring it out on your own – HowTo-Cancel is your go-to resource for canceling Every Plate subscriptions effortlessly. Trust us to guide you through the process and make subscription management a breeze.

ReadyForTravels your ultimate guide to Singapore Airlines San Francisco Office in California. Our comprehensive resource offer a wealth of information for a hassle-free experience. Uncover the Singapore airlines San Francisco office's address, contact details, and operating hours, ensuring you stay well-informed and prepared for your journey. From ticket booking to customer support, ReadyForTravels is your go-to platform for a smooth travel experience with Singapore Airlines. Trust us to provide the essential details, allowing you to focus on the excitement of your upcoming adventure.

We are overjoyed with the skill and attention to detail displayed by our custom home builders ontario canada.

Great read! The insights shared are truly valuable and thought-provoking. I appreciate the author's perspective on this topic. AUS vs PAK 2nd Test Match Report The engaging writing style kept me hooked from start to finish. Looking forward to more enlightening content. Keep up the fantastic work!

Post a Comment