打招呼。我为我的区块设置了一个控制器,其中包括:
public class QuestionBlockController : BlockController<QuestionBlock>
{
public override ActionResult Index(QuestionBlock currentBlock)
{
return PartialView(currentBlock);
}
public void Vote(QuestionBlock currentBlock)
{
//Do stuff
}方法投票是通过ajax调用调用的,在此视图中可以看到该块:
@Ajax.ActionLink("Vote", "Vote", "QuestionBlock",
new AjaxOptions
{
HttpMethod = "POST"
}, new { @class = "btn btn-vote" })问题是,当我单击actionlink时,它会调用方法投票,但currentBlock是null。
如果我调试currentBlock for Index,它将被正确地设置为当前的BlockData对象。
我遗漏了什么?
致以敬意,
ChrisRun
发布于 2015-11-18 14:37:51
我建议将currentBlock内容引用作为参数值传递给ajax request.This工作正常。
@Ajax.ActionLink("Vote", "Vote", "QuestionBlock", new {currentBlock = Model.ContentLink,
new AjaxOptions
{
HttpMethod = "POST"
}, new { @class = "btn btn-vote" })发布于 2015-11-11 10:40:44
您应该在操作链接中提到currentBlock参数。如果QuestionBlock是您从Ajax.ActionLink调用的视图模型,则应该如下所示:
@Ajax.ActionLink("Vote", "Vote", "QuestionBlock",Model,
new AjaxOptions
{
HttpMethod = "POST"
}, new { @class = "btn btn-vote" })模型(CurrentBlock)将作为参数传递给投票行为。
https://stackoverflow.com/questions/33646015
复制相似问题