Как мне настроить этот маршрут с ASP.NET MVC? - PullRequest
0 голосов
/ 14 июня 2009

Я пытаюсь создать маршрут и затем программно получить URL этого маршрута (чтобы я мог передать его в свой код jquery-rater.js).

Итак, я хотел бы иметь следующий URL: / голосование / создание Пользователю понадобится HTTP-POST к нему. Проводка двух значений: 1. PostId 2. Оценка голоса (байт от 1 <-> 5).

Это информация о моем маршруте:

routes.MapRoute(
    "Vote-Create",
    "vote/create/",
    new {controller = "Post", action = "VoteCreate"}
);

Это мой метод действия (в котором я тоже не слишком уверен, если он прав).

[AcceptVerbs(HttpVerbs.Post)]
public JsonResult VoteCreate(int postId, byte score)
{ .. }

Наконец, вот где мне нужно определить URI (и я не уверен, как): -

<script type="text/javascript">$(function() 
     { $('#rating<%= Model.Post.PostId %>')
           .rater({ postHref: 'URI IN HERE' }); });
</script>

Сначала я подумал, что могу использовать <% = Html.BuildUrlFromExpression (..)%>, но я не уверен, как.

Есть ли лучший / правильный путь?

Спасибо, ребята:)

1 Ответ

3 голосов
/ 14 июня 2009

На ViewPage есть UrlHelper, у которого есть множество вкусностей для этого. Поскольку вы называете маршрут («View-Create»), вы можете сделать что-то вроде этого

<%=Url.RouteUrl("Vote-Create") %>

в вашем коде. Если вы не хотите использовать свое имя маршрута, вы также можете использовать метод Action, передавая имя действия и все необходимые значения.

<%=Url.Action("VoteCreate") %>

Вот справочник по url

Редактировать: Ваш маршрут выглядит правильно, как есть, и при тестировании этого на моей коробке он работает как шарм:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...