2015-07-30 1 views
1

У меня есть функция под названием ValidarLogueo, которая вернет 0 для обычных пользователей и 1 для пользователей-пользователей. Я пытаюсь сделать что-то вроде этого, но это дает мне неправильное значение компиляции.Вызов частичного просмотра внутри элемента с помощью javascript

<input id="Logueo" value="Login" class="btn btn-info btn-block" onclick="javascript:validarLogueo() == 0? @Url.Action('VistaViandasPersonal', 'Menu'): @Url.Action('VistaAdministrador', 'Menu')"> 

Я теперь рендеринг страницы в моем .js, как это, но это не то, что мне нужно в связи с URL держит в LOCALHOST, вместо LOCALHOST/Меню

$('body').load(url + '/Menu/VistaViandasPersonal'); 

Есть ли что-нибудь Я могу это сделать. Заранее спасибо.

+0

Итак, я в конечном итоге положить весь свой .js код внутри сценария тега .cshtml если (ParseInt (object.isAdmin) == 0) { URL = «@ Url.Action (" VistaViandasPersonal "," Меню ") '; } else { url = '@ Url.Action ("VistaAdministrador", "Menu")'; } И это просто отлично работает, бритва смогла разобрать метод действия. Я знаю, что это не лучший способ сделать это, но я, по крайней мере, мог бы пропустить неудобное. Надеюсь это поможет. – Matias

+0

Рад видеть, что вы полностью игнорируете мой совет :) ваш JS должен быть в отдельных файлах JS, чтобы вы могли: а) правильно отладить его с помощью VS и b) использовать машинописный или другие языки высокого уровня. –

+0

Не удалось найти наилучший способ. Я должен доставить это приложение на следующей неделе, и я должен решить другие проблемы, которые у меня есть. Я отправлю сообщение, когда найду подходящее решение этой проблемы. Я знаю, что сценарии должны быть в отдельном файле. Thx за помощь! – Matias

ответ

1

Если вы развернете сгенерированный код вручную, вы увидите, что вы вставляете строковые константы , но не включили разделительные кавычки. Добавьте одиночные кавычки вокруг вызовов @Url.Action.

например.

<input id="Logueo" value="Login" class="btn btn-info btn-block" 
    onclick="javascript:validarLogueo() == 0 ? '@Url.Action('VistaViandasPersonal', 'Menu')' : '@Url.Action('VistaAdministrador', 'Menu')'"> 

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

<script> 
    window.siteRoot = "@Url.Content("~")"; 
</script> 

и просто предварять это любые URL-адреса в коде Jquery.

+0

Я пытаюсь. Я дам Вам знать. – Matias

 Смежные вопросы

  • Нет связанных вопросов^_^