Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 获取currentBlock作为方法-epserver MVC中的参数_Asp.net Mvc_Episerver - Fatal编程技术网

Asp.net mvc 获取currentBlock作为方法-epserver MVC中的参数

Asp.net mvc 获取currentBlock作为方法-epserver MVC中的参数,asp.net-mvc,episerver,Asp.net Mvc,Episerver,问候。我的块有一个控制器,其中包含: public class QuestionBlockController : BlockController<QuestionBlock> { public override ActionResult Index(QuestionBlock currentBlock) { return PartialView(currentBlock); } pu

问候。我的块有一个控制器,其中包含:

 public class QuestionBlockController : BlockController<QuestionBlock>
    {
        public override ActionResult Index(QuestionBlock currentBlock)
        {
            return PartialView(currentBlock);
        }

        public void Vote(QuestionBlock currentBlock)
        {
              //Do stuff
        }
问题是,当我单击actionlink时,它会调用方法投票,但currentBlock为null

如果我调试currentBlock for Index方法,则会将currentBlock正确设置为当前BlockData对象

我错过了什么

问候,


ChrisRun

您应该在操作链接中提到currentBlock参数。如果QuestionBlock是从中调用Ajax.ActionLink的视图模型,则应如下所示:

@Ajax.ActionLink("Vote", "Vote", "QuestionBlock",Model,
                        new AjaxOptions
                        {
                            HttpMethod = "POST"
                        }, new { @class = "btn btn-vote" })

模型(currentBlock)将作为参数传递给投票操作

我得到了将currentBlock contentreference作为参数值传递给ajax请求的建议。这很好

@Ajax.ActionLink("Vote", "Vote", "QuestionBlock", new {currentBlock = Model.ContentLink,
                        new AjaxOptions
                        {
                            HttpMethod = "POST"
                        }, new { @class = "btn btn-vote" })

谢谢你给我指出了正确的方向,但不是完全正确的答案。我添加了我的解决方案作为答案。
@Ajax.ActionLink("Vote", "Vote", "QuestionBlock", new {currentBlock = Model.ContentLink,
                        new AjaxOptions
                        {
                            HttpMethod = "POST"
                        }, new { @class = "btn btn-vote" })