Ich versuche eine Route zu erstellen und dann programmatisch die URL dieser Route abzurufen (damit ich sie an meinen jquery-rater.js Code übergeben kann).Wie richte ich diese Route mit ASP.NET MVC ein?
Also, ich möchte die folgende URL haben:/vote/create Der Benutzer muss HTTP-POST zu ihm. Buchung der zwei Werte: 1. PostId 2. Abstimmungsergebnis (Byte von 1 < -> 5).
Das ist mein Weg Info:
routes.MapRoute(
"Vote-Create",
"vote/create/",
new {controller = "Post", action = "VoteCreate"}
);
Dies ist meine Aktionsmethode (die auch ich bin nicht sicher, ob es richtig ist).
[AcceptVerbs(HttpVerbs.Post)]
public JsonResult VoteCreate(int postId, byte score)
{ .. }
schließlich das ist, wo ich die uri bestimmen müssen (und ich bin nicht sicher, wie): -
<script type="text/javascript">$(function()
{ $('#rating<%= Model.Post.PostId %>')
.rater({ postHref: 'URI IN HERE' }); });
</script>
Zuerst dachte ich, ich könnte das <% = Html verwenden. BuildUrlFromExpression (..)%> aber ich bin mir nicht sicher wie.
Gibt es einen besseren/richtigen Weg?
Dank Leute :)
Gibt es noch andere stark typisierte Lösungen? –
Nein, es gibt keine anderen stark typisierten Lösungen mit MVC oder Futures, aber David Ebbo hat eine wirklich gute Implementation. [http://blogs.msdn.com/davidebb/archive/2009/06/01/a-buildprovider-to-simplify-your-asp-net-mvc-action-links.aspx] Achten Sie auch darauf, seine zu sehen letzter Beitrag, der T4-Vorlagen verwendet. Hoffe das hilft! – Jake