2017-03-17 71 views
1

我有这个我CSHTML页如何通过参数Sitecore的控制器的渲染方法

<div class="liveMatch-timer"> 
      @Html.Sitecore().Controller("Blog", "LiveBlogHeader") 
     </div> 

上,这是我控制器

public PartialViewResult LiveBlogHeader() 
    { 
     var matchHeader = GetMatchDayHeader(); 
     return PartialView(BlogConstant.LiveBlogHeaderPath, matchHeader); 
    } 

我有一个隐藏字段名为“liveMatchItemId “在我的cshtml页面上。我想将它的价值传递给控制器​​,以便我可以在控制器内部访问它。我期待改变控制器的定义是这样的

public PartialViewResult LiveBlogHeader(string liveMatchItemId) 

任何人都可以帮助我了解我该如何做到这一点?我是新手sitecore和MVC。

编辑:我能够做到这一点使用下面的代码

@Html.Action("LiveBlogHeader", "Blog", new { liveMatchItemId = "12" }) 

但我怎么可以设置隐藏字段的值,而不是静态字段“12”?

回答

0

也许你可以使用类似: @Html.Action("LiveBlogHeader", "Blog", new { liveMatchItemId = Model.LiveMatchItemId })

哪里Model.LiveMatchItemId是要传递给控制器​​的性能。

+0

你能告诉我如何用隐藏域的值来声明模型吗?我是MVC的新手 – Akie

+0

你需要有一个能代表你模型的类。我们说公共类ViewModel。在它里面,你需要添加一个属性:public string LiveMatchItemId {get; set;}。你的控制器将设置该值:var model = new ViewModel(){LiveMatchItemId =“Your Value”};并返回View(“path”,model);在您的视图中:@ Html.HiddenFor(m => m.LiveMatchItemId) –

相关问题