Greeting. I have a controller for my block containing this:
public class QuestionBlockController : BlockController<QuestionBlock>
{
public override ActionResult Index(QuestionBlock currentBlock)
{
return PartialView(currentBlock);
}
public void Vote(QuestionBlock currentBlock)
{
//Do stuff
}
The method Vote is invoked through an ajax call, seen in this View for the block:
@Ajax.ActionLink("Vote", "Vote", "QuestionBlock",
new AjaxOptions
{
HttpMethod = "POST"
}, new { @class = "btn btn-vote" })
The problem is that when I click the actionlink it invokes the method Vote but currentBlock is null.
If I debug the currentBlock for Index method it is correctly set with the currentBlock as the current BlockData object.
What am I missing?
Regards,
ChrisRun
I got the suggestion to pass the currentBlock contentreference in as a parameter value to the ajax request.This works fine.
@Ajax.ActionLink("Vote", "Vote", "QuestionBlock", new {currentBlock = Model.ContentLink,
new AjaxOptions
{
HttpMethod = "POST"
}, new { @class = "btn btn-vote" })