#2 Use Query to get CSV Data
Requirements
Resources
Output
#2 Use Query to get CSV Data
Source Code of this file
Below you'll see the source code of the file. Note that we're just showing the main part, and hiding some parts of the file which are not relevant for understanding the essentials. Click to expand the code
@inherits Custom.Hybrid.Razor14 @using ToSic.Razor.Blade; @using System.Linq; <!-- unimportant stuff, hidden --> <div @Sys.PageParts.InfoWrapper()> @Html.Partial("../shared/DefaultInfoSection.cshtml") <div @Sys.PageParts.InfoIntro()> <h2>Example from CSV</h2> <p> CSV files are often used so website-owners can upload data from another system. This example shows us getting the CSV-file through a query and visualizing it here. <br> </p> </div> </div> @{ // get the query var query = Kit.Data.GetQuery("ProductsFromCSV"); // get the data from the query var products = AsList(query); // get the current product or the default - the query always selects one var current = AsList(query["Current"]).FirstOrDefault(); // Get the current url params so we can derive from it for details links var urlParams = CmsContext.Page.Parameters; } <ul> @foreach (var product in products) { <!-- this li will have class=selected if it's the current one --> <li class='@(product == current ? "selected" : "")'> <!-- this creates a link to the current page and product=id --> <a href='@Link.To(parameters: urlParams.Set("product", product.EntityId.ToString()))'> @product.Name (#@product.Id) </a> @if (current == product) { <br> <em> @current.Description (<a href="@product.Link" target="_blank">find out more</a>) </em> } </li> } </ul> @* Footer *@ @Html.Partial("../Shared/Layout/FooterWithSource.cshtml", new { Sys = Sys })