Вопрос по syntax-highlighting, asp.net-mvc-4, visual-studio – Бритва @if внутри <script> is rejected by VS11

9

Является ли следующая разметка неправильной или это ошибка в движке Razor в MVC4? В любом случае, какой обходной путь лучший?

Весь контентView1.cshtml Показано. Компилируется нормально, но подсвечивание ошибок Intellisense раздражает.(Included as an image so you can see how the syntax is rejected by VS11.)

Markup highlighting

Хоть что@: синтаксис (вместо<text></text>) также не принимается.

Intellisense в VS2010 также действует странно, когда код C # появляется внутри<script>, Я только что преодолел это. GSerg
Вы сообщили об ошибке в MS Connect? Darin Dimitrov
Сделали сейчасtinyurl.com/vs11error, Какой-нибудь обходной путь в настоящее время? Или я должен просто игнорировать это? James

Ваш Ответ

2   ответа
5

елять этих двух парней, используя либо бритву@function или бритва обычай@helper.

Вот простой пример:

<script type="text/javascript">
    function btn_clicked() {
        @generateMyJavaScript()
    }
</script>

<a href="javascript:void(0)" onclick='btn_clicked()'>Click on me</a>

@functions {
    private MvcHtmlString generateMyJavaScript()
    {
        string jsBuilder = string.Empty;
        if (true)
            jsBuilder = "alert('Hey!');";
        return MvcHtmlString.Create(jsBuilder);
    }
}
0

ответ, но:

I try staying away from mixing model data into javascript. Although powerfull it is a bit spaghetti-like. Also I try to have as little as possible tags in the html. I use js includes and jQuery $(document).ready(function () ... functions inside those. There you can extract the JSON data from the data attributes and base javascript decisions on those.

(Хотел написать это как комментарий, но не нашел способа сделать это, извините за дебаг)

Похожие вопросы