0

Dans le cadre de la conversion d'une page ASPX à la page Razor MVC5, je suis tombé sur Kendo Tabstrip utilisé dans notre application qui a la syntaxe suivante dans ASPXKendo Tabstrip syntaxe Razor

tabstrip.Add() 
               .Text(item.Title) 
               //.HtmlAttributes(new { tabindex = "-1" }) 
               .Selected(true) 
               .Content(() => 
               { 
                %> 
                <div style="width:980px; min-height:562px; margin-left:0px; margin-right:0px"> 
                <% 
                using (Html.BeginForm(null, null, FormMethod.Post, new { id = "tabForm" })) 
                {%> 
                  <div> 
                   <%: Html.ValidationSummary(false)%> 
                   <asp:ContentPlaceHolder ID="MainContent" runat="server" /> 
                  </div> 
                  <div style="padding-top:30px; text-align:center;"> 

</div> 
                  <%: Html.Hidden("NextActionHelper", Model.NextActionHelper)%> 
                  <%: Html.Hidden("UserFormAction", Model.UserFormAction)%> 

                 <% 
                } 
                 %> 
                </div> 
               <% 
               }); 

Je reçois une erreur manque demi côlon quand j'utilise le code ci-dessous, qui est dans le rasoir, mais je veux connaître l'étiquette appropriée pour rendre le div valide. C'est-à-dire que j'utilise @ avant la première balise div, juste après .Content, ce qui ne semble pas valide, mais à moins que je ne l'y mette, le div apparaît comme du texte libre avec des lignes ondulées. Quelle est la bonne syntaxe pour que le rasoir reconnaisse les balises div?

tabstrip.Add() 
           .Text(item.Title) 
           .Selected(true) 
           .Content(() => 
           { 
            @<div style="width:980px; min-height:562px; margin-left:0px; margin-right:0px"> 

            @using (Html.BeginForm(null, null, FormMethod.Post, new { id = "tabForm" })) 
            { 
            <div> 
             @Html.ValidationSummary(false) 
             @RenderBody() 
            </div> 
            <div style="padding-top:30px; text-align:center;"> 
Some stuff in between 
</div> 
             @Html.Hidden("NextActionHelper", Model.NextActionHelper) 
             @Html.Hidden("UserFormAction", Model.UserFormAction) 
            } 
            </div> 



         }); 

Répondre

0

Essayez avec le code ci-dessous. Il utilise une autre surcharge de la méthode "Content".

tabstrip.Add() 
     .Text(item.Title) 
     .Selected(true) 
     .Content(
       @<text> 
       <div style="width:980px; min-height:562px; margin-left:0px; margin-right:0px"> 

           @using (Html.BeginForm(null, null, FormMethod.Post, new { id = "tabForm" })) 
           { 
           <div> 
            @Html.ValidationSummary(false) 
            @RenderBody() 
           </div> 
           <div style="padding-top:30px; text-align:center;"> 
            Some stuff in between 
           </div> 
            @Html.Hidden("NextActionHelper",Model.NextActionHelper) 
            @Html.Hidden("UserFormAction",Model.UserFormAction) 
           } 
           </div> 
        </text> 
        );