If you have a Ajax.Actionlink and you want to specify a OnBegin with a parameter you need to use the following syntax:

<%=Ajax.ActionLink("text", "Action", "Controller", new { param = someVar }, new AjaxOptions() { OnBegin = string.Format("new Function(‘DoSomeThing({0})’)", index),  HttpMethod = "POST" })%>

Where DoSomeThing is just a function that takes a string as parameter.

Update: added quotes around the real (inner) function, otherwise it’s executed instead of passed on at the creation of the object.

4 Responses to “ASP.NET MVC AjaxOptions, OnBegin / Onsuccess / OnFailure”
  1. Jeff French says:

    Sweet! Just what I was looking for. Thanks.

  2. [...] to Vote[Del.icio.us] Kristof's Blog :: ASP.NET MVC AjaxOptions, OnBegin / Onsuccess / OnFailure (3/4/2010)Thursday, March 04, 2010 from [...]

  3. Brandon says:

    Why does the string.Format not have a {0} in it? are the tick marks ` intentional or are they mean to be single quotes?

  4. Those backticks are single quotes, I don’t know why my blog makes them backticks. And indeed, I forgot the {0}, thanks for that. It’s because I refactored my function to something more generic. I will fix it soon :)

  5.  
Leave a Reply


And shepherds we shall be, for thee my Lord for thee, power hath descended forth from thy hand, that our feet may swiftly carry out thy command. We shall flow a river forth to thee, and teeming with souls shall it ever be. In nomine Patris, et Filii, et Spiritus Sancti.