Wie können optionale HTML-Attribute mit der Razor View-Engine präzise erstellt werden?

Ich suche nach einer Möglichkeit, den folgenden Code mit weniger Codezeilen (möglicherweise 5) zu schreiben. Ich schätze, ich könnte das Gleiche tun wie die ausgewählte Klasse, aber diese Rasiermessersyntax sieht nicht besonders hübsch aus.

<ul>
@foreach (var mi in Model.MenuItems) {
  <li@(mi.Selected?" class=\"selected\"":null)>
  @if (string.IsNullOrEmpty(mi.Title)) {
    <a href="@mi.Href">@mi.Text</a>
  } else {
    <a href="@mi.Href" title="@mi.Title">@mi.Text</a>
  }
  </li>
}
</ul>

Antworten auf die Frage(16)

Ihre Antwort auf die Frage