2013-08-02 4 views
1

я стараюсь передать свою переменную JS в бритве, мой фрагмент сценария:Как использовать переменную JavaScript в Razor?

select: function (event, ui) {        
    var docID = ui.item.DoctorCode; 

    @{ 
     string org_code = _unitOfWork.Doctors.GetById("").OrganizationCode; 
    } 

     doctorOrgLabel.text('@org_code'); 
    } 

В GetById() метод я хочу передать JS переменной docID. Буду признателен за любую помощь!

+2

После того, как ваш взгляд будет визуализирован, вы не будете взаимодействовать с ним снова. поэтому вы не можете делать то, что вы пытаетесь сделать, о чем я знаю. вам нужно будет настроить ajax-вызовы, если вам нужно больше данных, основанных на выбранном значении, или просто загрузите json-объект, который вы можете ссылаться позже. –

+0

Спасибо! loading json object работает для меня! –

ответ

7

я стараюсь передать свою переменную JS в бритве

Это предложение делает строго никакого смысла.

Razor - это механизм просмотра, используемый инфраструктурой ASP.NET MVC, работающей на сервере, для создания HTML-шаблона.

javascript, с другой стороны, это язык клиентской стороны, запущенный на клиенте. Когда HTML-шаблон визуализируется клиенту, и javascript начинает работать, больше не существует такого понятия, как Razor.

Если вы хотите передать какую-то переменную JavaScript на сервер у вас есть несколько вариантов:

  • сделать вызов AJAX на сервер
  • установить значение этого переменный в некотором скрытом поле внутри форма и представить эту форму
  • использование window.location.href для перенаправления на сервер и передавая переменную как параметр строки запроса
  • сберегать переменная JavaScript в куки, которые будут отправлены на сервер при последующих запросах
+0

Большое спасибо, можете ли вы привести пример любого из вариантов? Я не уверен, как использовать Ajax. –

+0

Если вы используете jQuery, вы можете использовать функцию '$ .ajax', которая хорошо документирована здесь: http://api.jquery.com/jQuery.ajax/ –