Asp.net mvc Grid.MVC单元内的引导下拉菜单

Asp.net mvc Grid.MVC单元内的引导下拉菜单,asp.net-mvc,twitter-bootstrap,helpers,grid.mvc,Asp.net Mvc,Twitter Bootstrap,Helpers,Grid.mvc,我试图在Grid.MVC单元格中呈现一个包含6个选项的下拉菜单。 这非常简单:定义一个生成相关标记的助手 这是我的代码: @helper menuContestuale(int idEvento) { <div class="dropdown"> <a class="dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">&raquo;</

我试图在Grid.MVC单元格中呈现一个包含6个选项的下拉菜单。 这非常简单:定义一个生成相关标记的助手

这是我的代码:

@helper menuContestuale(int idEvento) { 
<div class="dropdown">
    <a class="dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">&raquo;</a>
    <ul class="dropdown-menu">
        <li>
            @Html.ActionLink("Dettaglio", "DettaglioErrore/" + idEvento, "Home")
        </li>
       <li>
           @Html.ActionLink("Elimina anomalia", "EliminaErrore/" + idEvento, "Home")
       </li>
       <li>
           @Html.ActionLink("Elimina anomalie simili di questa persona", "EliminaSimiliPersona/" + idEvento, "Home")
       </li>
       <li>
           @Html.ActionLink("Elimina anomalie stesso processo di questa persona", "EliminaSimiliPersonaProcesso/" + idEvento, "Home")
       </li>
       <li>
           @Html.ActionLink("Elimina anomalie simili", "EliminaSimili/" + idEvento, "Home")
       </li>
       <li>
           @Html.ActionLink("Elimina intero processo", "EliminaProcesso/" + idEvento, "Home")
       </li>
    </ul>
</div>
}

@Html.Grid(Model).Columns(columns =>
{
    columns.Add(row => row.idEvento).RenderValueAs(row => menuContestuale(row.idEvento).ToHtmlString()).Encoded(false);
});
@helper menuContestuale(intidevento){
&拉阔;
  • @ActionLink(“Dettaglio”,“dettagliorerror/”+idEvento,“Home”)
  • @ActionLink(“Elimina anomalia”,“EliminaErrore/”+idEvento,“Home”)
  • @ActionLink(“Elimina anomalie simili di questa persona”,“Elimina similipersona/”+idEvento,“Home”)
  • @ActionLink(“Elimina anomalie stesso processo di questa persona”,“Eliminasimilipersonaproceso/”+idEvento,“Home”)
  • @ActionLink(“Elimina anomalie simili”,“EliminaSimili/”+idEvento,“Home”)
  • @ActionLink(“eliminaintero processo”,“EliminaProcesso/”+idEvento,“Home”)
} @Html.Grid(Model).Columns(Columns=> { columns.Add(row=>row.idEvento).RenderValueAs(row=>menuContestuale(row.idEvento).ToHtmlString()).Encoded(false); });
表格单元格中生成的HTML去掉了大部分标记

<td class="grid-cell" data-name="idEvento">    
    &raquo;</a>
        <li>
            Dettaglio</a>
        </li>
       <li>
           Elimina anomalia</a>
       </li>
       <li>
           Elimina anomalie simili di questa persona</a>
       </li>
       <li>
           Elimina anomalie stesso processo di questa persona</a>
       </li>
       <li>
           Elimina anomalie simili</a>
       </li>
       <li>
           Elimina intero processo</a>
       </li>
    </ul>
</td>

&拉阔;
  • 德塔格里奥
  • 伊莱米娜畸形
  • 伊莱米娜·阿诺马利·西米利·迪克斯塔
  • 埃莉米娜·阿诺马利·斯特索·迪克斯塔个人过程
  • 伊莱米娜·阿诺马利·西米利
  • 伊莱米娜互操作程序
  • 在网格外调用的同一个助手返回正确的标记。 有什么想法吗?
    提前感谢。

    看起来您还需要呼叫“已消毒”:

    Sanitizer负责从字符串中剥离潜在危险的HTML标记,因此在您的情况下,它可能是删除这些标记的工具

    .Encoded(false).Sanitized(false)