#4 Use Query to get CSV Data from a File Configured in Settings 
      
      
     
   
  
    Example from CSV which was uploaded as an App Setting
    
      This is similar to the previous example, except that the CSV file 
      can be uploaded again and again in the App-Settings UI. So the path isn't hard-coded.  
      
    
    
   
  
 
 
  
    
  
    
@{
  // get the query
  var query = App.Query["ProductsFromCsvInAppSettings"];
  // get the data from the query
  var products = AsList(query);
  // get the current author (if available) from the stream Current
  var current = AsList(query["Current"]).FirstOrDefault();
}
<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 tutorial (data220) and product=id -->
      <a href='@Link.To(parameters: "data231=true&product=" + product.EntityId)'>
        @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>
   
 
 
    Error showing file source
    
      Where was a problem showing the file source for /Portals/0/2sxc/Tutorial-Razor/data/assets/products.csv
    
 
  
    
      
      
        #4 Use Query to get CSV Data from a File Configured in Settings 
      
      
     
   
    
  
    @inherits Custom.Hybrid.Razor14
<!-- unimportant stuff, hidden -->
@using ToSic.Razor.Blade;
@using System.Linq;
Example from CSV which was uploaded as... <!-- unimportant stuff, hidden -->
@{
  // get the query
  var query = App.Query["ProductsFromCsvInAppSettings"];
  // get the data from the query
  var products = AsList(query);
  // get the current author (if available) from the stream Current
  var current = AsList(query["Current"]).FirstOrDefault();
}
<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 tutorial (data220) and product=id -->
      <a href='@Link.To(parameters: "data231=true&product=" + product.EntityId)'>
        @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>
<!-- unimportant stuff, hidden -->
<!-- unimportant stuff, hidden -->