2009-06-14 40 views
0

我想創建一個路線,然後編程檢索該路線的URL(所以我可以將它傳遞給我的jquery-rater.js代碼)。如何使用ASP.NET MVC設置此路線?

所以,我希望有以下網址:/ vote/create 用戶需要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(..)%>但我不知道如何。

有沒有更好的/正確的方法?

感謝鄉親:)

回答

3

有上有好吃的東西要做到這一點的plunty的一個的ViewPage UrlHelper。 既然你命名的路線(「查看 - 創建」),你可以做這樣的事情

<%=Url.RouteUrl("Vote-Create") %> 
在你的代碼

。如果您不想使用路由名稱,則還可以使用Action方法,傳入操作名稱和所需的任何值。

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

這裏是url helper reference

編輯:你的路線看起來正確的,因爲是和我的盒子測試這個時候它就像一個魅力:)

+0

是否有任何其他強類型的解決方案? – 2009-06-15 00:30:07