Javascript var внутри функции c # внутри Javascript - PullRequest
0 голосов
/ 06 февраля 2012

Я пытаюсь написать функцию javascript, которая вызывает значение Dictionary, а затем пытается разделить его на ´_.Проблема в том, что ключ для получения значения из словаря находится в переменной Javascript, которая извлекается из выпадающего списка.Можно ли использовать переменную Javascript внутри функции c # внутри Javascript?

Код, как он есть сейчас:

var Category = document.getElementById('Properties').value;
var Name = document.getElementById(Category).value;
Category = '@Model.Dictionary[Name].Split('_')[0]';

РЕДАКТИРОВАТЬ:

Люди неправильно истолковывают мою проблему, функция .Split работает, но Словарь [Имя] доставляет мне проблемы.если я ввожу

var Category = document.getElementById('Properties').value;
var Name = document.getElementById(Category).value;
Category = '@Model.Dictionary["Bicycle"].Split('_')[0]';

в код, он отлично работает, но я хочу динамически получить часть "Велосипед" из DropDownList.

РЕДАКТИРОВАТЬ 2:

Хорошо, я решил, что то, что я передумываю над ситуацией, и то, что я пытаюсь сделать, требует гораздо больше работы, чем нужно, нашел лучшие решения, спасибо всем, кто пытался мне помочь.

Ответы [ 3 ]

1 голос
/ 06 февраля 2012

Вы немного перепутали между клиентом и сервером.Чтобы взаимодействовать с серверным кодом, подобным этому, вам нужно либо отправить сообщение на сервер, либо написать обратный вызов AJAX для вызова метода сервера.

http://mikehadlow.blogspot.com/2008/10/mvc-framework-and-jquery-ajax-heaven.html

0 голосов
/ 08 февраля 2012

Я полностью избежал этой проблемы, так как DropDownList имеет разные значения в Value и Text, делая это, чтобы получить требуемый ввод, который раньше был в Словаре, из Value DropDownList без изменения Text.

0 голосов
/ 06 февраля 2012

Нет, это невозможно. Весь код сервера выполняется до отправки страницы в браузер, а весь код клиента выполняется после.

Чтобы использовать словарь в коде клиента, вам нужно создать код Javascript со стороны сервера, который воссоздает словарь на стороне клиента.

Если это невозможно, вам придется сделать AJAX-вызов на сервер.

...