2012-03-19 96 views
2

我是.NET開發新手,需要一些幫助。發送參數到局部視圖

我需要顯示評分函數中的星星。這個顯示會出現在我的大部分頁面中。

所以,我認爲處理這個問題的最好方法是使用局部視圖。

經過一些研究,我發現了一些應該使我能夠將此參數發送到局部視圖。

例如,通過調用像

@Html.Partial("~/Views/Search/_SearchPartial.vbhtml", model.contact.rating) 

的局部視圖但是,我不知道如何捕捉到局部視圖裏面這個參數。此外,上下文永遠不會相同。有時,我必須展示的星星將來自另一個評級。它會改變什麼嗎?

回答

1

當您通過等級的局部視圖,您可以通過Model對象訪問它的局部視圖

<div> 
<p>Current rating: @Model</p> 
<div> 

內對於視圖知道它是處理你的模型的類型需要指定部分視圖頂部的類型:

@model MyNamespace.MovieRating 

<div> 
<p>Current rating: @Model</p> 
<div> 

所有這些都假設評級對象將始終是同一類型。如果您有不同的評級對象,那麼您需要將它們解析爲單一類型,或者爲每種類型的評級對象創建一個視圖。

1

評分值將是局部視圖的Model對象(作爲整數或雙精度),像在普通視圖中一樣使用它。

1

使用editor-templates或display-templates可以更有效地處理這種情況。對於使用模板

  1. 創建文件夾:

    查看/共享/ DisplayTemplates

  2. 創建DisplayTemplates文件夾內部的圖。說它Rating.cshtml和粘貼代碼:

    @model int 
    
    <div><p>Current rating: @Model</p></div> 
    
  3. 調用此模板,您的看法,而不是@ Html.Partial:

    @Html.DisplayFor(model=>model.contact.rating, "Rating") 
    
+0

@ Html.DisplayFor(型號> = Model.Contact。評級「,」評級「),它表示'> ='n'est pasdéfinipour les types'MvcApplication4.ContactDeteils'et'Integer'。 ps:我最終在VB.NET – 2012-03-19 15:09:02

+0

中開發,我稱之爲:@ Html.Partial(「〜/ Views/Search/_SearchPartial.vbhtml」,model.contact.rating),還沒有使用該模型的任何問題。多謝! – 2012-03-19 15:13:58