#javascript #asp.net-mvc #visual-studio #razor
#javascript #asp.net-mvc #visual-studio #razor
Вопрос:
У меня есть функция javascript, имя которой генерируется из модели в представлении ASP MVC razor:
<script type="text/javascript">
function @(Model.GetWindowFunctionName)() {
var win = $('#@(Model.WindowId)').data('tWindow');
return win;
}
</script>
Visual studio 2010 показывает ряд ошибок компиляции вокруг имени функции.
Есть ли способ прекратить отображение ошибок javascript для определенного файла вместо отключения всех ошибок с помощью Options / TextEditor / Javascript?
Комментарии:
1. В качестве альтернативы, вы можете найти способ закодировать это, который не является недопустимым JavaScript.
2. Сгенерированный javascript корректен и работает нормально.
3. Я это знаю. Но как JavaScript, значение «@ (Model)» недопустимо. Кроме того, я лично ненавижу генерировать JavaScript. Мне нравится запускать один и тот же код на каждой странице.
Ответ №1:
Как указано выше, я бы реструктурировал ваш код, чтобы он был действительным JavaScript. Вместо того, чтобы переделывать всю вашу систему, вы можете воспользоваться тем фактом, что вы можете использовать строки в качестве имен свойств объектов JavaScript, а также тем фактом, что window
это глобальный объект:
<script type="text/javascript">
window['@(Model.GetWindowFunctionName)'] = function() {
var win = $('#@#(Model.WindowId)').data('tWindow');
return win;
};
</script>
Это был бы допустимый JavaScript и функционально такой же, как предоставленный вами образец.