Using Razor with Visual Basic: Listing 6.

Restricting functionality to authorized users.

@Code
  If User.IsInRole("admin") Then
    @Html.ActionLink("Create New", "Create")
  End If
End Code

@Code
  If User.IsInRole("admin") Then
    @Html.ActionLink("Email", "Email", New With {.id = currentItem.CustomerID})
    @Html.Raw(" | ")
    @Html.ActionLink("Delete", "Delete", New With {.id = currentItem.CustomerID}) 
    @Html.Raw(" | ")
  End If
  If User.IsInRole("clerical") OrElse User.IsInRole("admin") Then
    @Html.ActionLink("Edit", "Edit", New With {.id = currentItem.CustomerID}) 
    @Html.Raw(" | ")
  End If
  If User.IsInRole("employee") Then
    @Html.ActionLink("Details", "Details", New With {.id = currentItem.CustomerID})
  End If
End Code

Similarly, the link at the top of the customer list to create a new customer is restricted to admin users only by the following code:

@Code
  If User.IsInRole("admin") Then
    @Html.ActionLink("Create New", "Create")
  End If
End Code

About the Author

Joe Kunk is a Microsoft MVP in Visual Basic, three-time president of the Greater Lansing User Group for .NET, and developer for Dart Container Corporation of Mason, Michigan. He's been developing software for over 30 years and has worked in the education, government, financial and manufacturing industries. Kunk's co-authored the book "Professional DevExpress ASP.NET Controls" (Wrox Programmer to Programmer, 2009). He can be reached via email at joekunk@gmail.com.