2013-02-27 8 views
1

Я пытаюсь вызвать метод C# в своем javascript-коде, а также пытаюсь передать ему параметр с помощью синтаксиса бритвы, но не в состоянии сделать это правильно. Ниже мой код:Вызов метода кода C# с параметрами в javascript с помощью razor

function RecallNoFmatter(cellvalue) { 
    var value = @(Precall.S300FormatRecall(+cellvalue+)); 
    return value; 

} 

Я получаю сообщение об ошибке:

Компилятор Сообщение об ошибке: CS0103: Имя «CellValue» не существует в текущем контексте.

Может ли кто-нибудь сказать мне правильный синтаксис о том, как передать параметр выше?

+0

Что означает «+ cellvalue +» в мире? –

+1

Исходя из вашего [более раннего вопроса] (http://stackoverflow.com/questions/11123852/jquery-template-tags-use-with-lambda-expressions-under-html-helper-extensions-in), вы ** грубо ** непонимание сервера и код на стороне клиента и какова взаимосвязь между ними. Вы должны сделать шаг назад и попытаться понять эти два понятия, и тогда эти вещи будут казаться намного проще и очевиднее. – R0MANARMY

ответ

4

C# работает на стороне сервера. Код @ работает на стороне сервера до того, как скрипт будет доставлен клиенту и не имеет доступа к значениям JavaScript.

Ваш JavaScript работает на стороне клиента и не имеет возможности вызвать серверные методы.

Если вы хотите выставить серверную функциональность клиенту, вам придется использовать AJAX и предоставить некоторую услугу для вызова клиента.

+0

делать ajax call похоже работа. – suk