0

Я это MVC MapRouteКак получить routevalues ​​из URL с htmlhelpers или JavaScript?

routes.MapRoute(
    name: "Authenticated", 
    url: "{controller}/{action}/{foo}/{bar}", 
    defaults: new { controller = "Home", action = "WelcomePage", Foo = "0", Bar = "0" } 
); 

И URL

http://localhost/mysite/controller/action/2/1 

Как я могу с JavaScript Получать 2 и 1? Я бы предпочел решение с минимальной работой подстроки, потому что это легко привело бы к большим количеством ошибок, которые я думаю.

Обратите внимание, что URL-адрес может заканчиваться фильтром = xx иногда, если это имеет значение.

Я судимое

var foo= ViewContext.RouteData.Values["foo"]; 
var bar= ViewContext.RouteData.Values["bar"]; 

alert('foo: ' + foo); 
alert('bar: ' + bar); 

Результат: e: ReferenceError: ViewContext is not defined

+0

О, это бритва я забыл @ {} – radbyx

ответ

1

Для записи на стороне сервера код для обработки бритвенного двигателя, вы должны предварять ваше заявление с @. Это будет работать, только если этот Javascript встроен в представление.

Вы также можете сделать это с помощью Javascript. Что-то вроде этого следует сделать трюк

var urlParts = location.href.split('/'); 
var foo = urlParts[6]; 
var bar = urlParts[7]; 
+0

расщеплению строка собирается далеко быть самым быстрым, я не вижу проблемы с дискретностью там вообще –

+0

я буду попробуйте, отлично смотрится на первом гласе. Только беспокоиться было бы, если бы 6 и 7 изменились. – radbyx

+0

Знаете ли вы, как я могу это исправить? e: TypeError: location.split не является функцией – radbyx

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

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