Member 13921452 Ответов: 2

Я хочу отобразить код ASP MVC C# в браузере, но visual studio скомпилирует этот код и получит ошибку синтаксического анализа?


Я хочу отобразить код asp mvc C# в браузере, но visual studio скомпилирует этот код и получит ошибку синтаксического анализа? я хочу отобразить код в браузере, как этот веб-сайт. пожалуйста помочь
спасибо

Что я уже пробовал:

<figure>
    <figcaption>
        Demo Display Code on Browser
    </figcaption>
    <pre>
    <code>
    <h2>Post</h2>
@using (Html.BeginForm("Index", "Home" , FormMethod.Post, new { @class = "form-horizontal", role = "form" }))
{
    <p>
        Title: @Html.TextBox("matatil");
    </p>
    <p>
 
        Tags: @Html.TextBox("metaKeys");
    </p>
    <p>
        Short Description: @Html.TextBox("metaDesc");
    </p>
    <p>
        Auther Name:@Html.TextBox("autharName");
    </p>
    <p>
         Page Contant:@Html.TextArea("Pagecntant");
             </p>
        </code>



Получаю ошибку ниже
-----------------
Server Error in '/' Application.

Parser Error 
  Description: An error occurred during the parsing of a resource required to service this request. Please review the following specific parse error details and modify your source file appropriately. 

 Parser Error Message: The using block is missing a closing "}" character.  Make sure you have a matching "}" character for all the "{" characters within this block, and that none of the "}" characters are being interpreted as markup.


Source Error: 



Line 13:     <code>
Line 14:     <h2>Post</h2>
Line 15: @using (Html.BeginForm("Index", "Home" , FormMethod.Post, new { @class = "form-horizontal", role = "form" }))
Line 16: {
Line 17:     <p>
  

 Source File:  /Views/Home/DemoDisplayCode.cshtml    Line:  15 


Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.6.114.0 

2 Ответов

Рейтинг:
2

OriginalGriff

Прочтите сообщение об ошибке: это не может сделать его более ясным!

The using block is missing a closing "}" character.  Make sure you have a matching "}" character for all the "{" characters within this block, and that none of the "}" characters are being interpreted as markup.
А теперь взгляните на свой код:
<code>
    <h2>Post</h2>
@using (Html.BeginForm("Index", "Home" , FormMethod.Post, new { @class = "form-horizontal", role = "form" }))
{ <<<<<---- Where is the closing "}" for this?

    <p>
        Title: @Html.TextBox("matatil");
    </p>
    <p>
 
        Tags: @Html.TextBox("metaKeys");
    </p>
    <p>
        Short Description: @Html.TextBox("metaDesc");
    </p>
    <p>
        Auther Name:@Html.TextBox("autharName");
    </p>
    <p>
         Page Contant:@Html.TextArea("Pagecntant");
             </p>
        </code>


Member 13921452

Моя проблема заключается только в том, что я хочу показать свой код в браузере. Код должен быть правильным или неправильным, но должен отображаться в браузере. Visual Studio не нужно компилировать. Точно так же, как код отображается на codeproject.com-да.

OriginalGriff

Конечно, он должен компилироваться! Он не может быть запущен, если это не так, C# не является интерпретируемым языком. :смеяться:

Рейтинг:
12

Richard Deeming

Проблема в том, что @ персонаж говорит Razor скомпилировать код. Вам нужно избежать его с помощью @@:

<figure>
    <figcaption>
        Demo Display Code on Browser
    </figcaption>
    <pre>
    <code>
    <h2>Post</h2>
@@using (Html.BeginForm("Index", "Home" , FormMethod.Post, new { @@class = "form-horizontal", role = "form" }))
{
    <p>
        Title: @@Html.TextBox("matatil");
    </p>
    <p>
 
        Tags: @@Html.TextBox("metaKeys");
    </p>
    <p>
        Short Description: @@Html.TextBox("metaDesc");
    </p>
    <p>
        Auther Name:@@Html.TextBox("autharName");
    </p>
    <p>
         Page Contant:@@Html.TextArea("Pagecntant");
             </p>
        </code>


Member 13921452

Это хорошо работает.
Большое спасибо
Ричард Диминг