Asp.net mvc 4 动态设置列表项Id

Asp.net mvc 4 动态设置列表项Id,asp.net-mvc-4,razor,Asp.net Mvc 4,Razor,这看起来应该很容易,但我不能让它工作 我的视图模型中有一组字符串,这些字符串作为列表项输出: <ul class="dropdown-menu" id="genreDropDown"> @foreach (string subject in Model.SuggestSubjects) { <li id="listItem'@subject'"><a onclick="LoadSuggestTitles_BySubject('@subject');">@s

这看起来应该很容易,但我不能让它工作

我的视图模型中有一组字符串,这些字符串作为列表项输出:

<ul class="dropdown-menu" id="genreDropDown">
@foreach (string subject in Model.SuggestSubjects)
{
  <li id="listItem'@subject'"><a onclick="LoadSuggestTitles_BySubject('@subject');">@subject</a></li>
}
</ul>
    @foreach(Model.SuggestSubjects中的字符串主题) {
  • @subject
  • }
当页面呈现时,我看到列表项的id被格式化为:

  • 我的问题:

    是否有任何方法可以在不使用单引号的情况下格式化ID,以便Razor仍然可以提取值并将其附加到ID

    最后,我想让它读一下替换:

    <li id="listItem'@subject'">
    
  • 与:

  • 试试这个:

    @foreach (string subject in Model.SuggestSubjects)
    {
      var id = "listItem" + @subject;
      <li id="@id"><a onclick="LoadSuggestTitles_BySubject('@subject');">@subject</a></li>
    }
    
    @foreach(Model.SuggestSubjects中的字符串主题)
    {
    var id=“listItem”+@主题;
    
  • @主题
  • }
    您是否尝试过删除
    @subject
    周围的单引号?@acfrancis我认为这也应该有效,但出于某种原因,它仍然按字面意思输出
    listItem@subject
    。请尝试我的更新版本answer@acfrancis那是猫的睡衣。谢谢
    @foreach (string subject in Model.SuggestSubjects)
    {
      var id = "listItem" + @subject;
      <li id="@id"><a onclick="LoadSuggestTitles_BySubject('@subject');">@subject</a></li>
    }