Skip to main content
Home  › ... Razor

Data List-Details

Tutorial HomeList-Details
The samples can differ based on your Razor base class or if you're running an old version.
Selected: Strong-Typed (2sxc 17.06+) Switch to Typed (2sxc 16+) Switch to Dynamic (Razor14 or below)
Requirements
Resources

Basic List Details using Code

Very often you have a list of items, and then a details-page showing just one item. In this example, we'll just use code to do this (so no visual query) - just so you understand the principle. This example even has the list & details view in the same file - but usually you don't want that - so check the next examples afterwards.

⬇️ Result | Source ➡️

Details of Terry Pratchett

back to list
@inherits Custom.Hybrid.RazorTyped
@using AppCode.Data

@* check if we have a url-parameter called "id" with a value *@
@if (MyPage.Parameters.IsEmpty("id"))
{
  var persons = App.Data.GetAll<Persons>();
  <h3>List of Persons</h3>
  <ul>
    @foreach (var person in persons) {
      <li>
        <a href='@Link.To(parameters: MyPage.Parameters.Set("id", person.Id))'>
          @person.FirstName @person.LastName
        </a>
      </li>
    }
  </ul>
}
else
{
  // find the person with this Id using LINQ
  int id = MyPage.Parameters.Int("id");
  var person = App.Data.GetOne<Persons>(id); // persons.First(p => p.Id == id);

  @person.Picture("Mugshot", settings: "Square", width: 50, imgClass: "float-left", imgAttributes: new {
    style = "border-radius: 50%"
  })

  <h3>Details of @person.FirstName @person.LastName</h3>
  <a href='@Link.To(parameters: MyPage.Parameters.Remove("id"))'>back to list</a>
}