2017-03-17 88 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) –

相關問題