我是.NET开发的新手,需要一些帮助。
我需要根据评级显示星星。此显示将在我的大多数页面中显示在代码中。
所以,我认为处理这个的最好方法是使用局部视图。
经过一些研究,我发现了一些能让我将这个参数发送到局部视图的东西。
例如,通过调用部分视图
@Html.Partial("~/Views/Search/_SearchPartial.vbhtml", model.contact.rating)
但是,我不知道如何在局部视图中捕获此参数。此外,背景将永远不会相同。有时候,我必须展示的明星将来自另一个评级。它改变了什么吗?
答案 0 :(得分:1)
当您将评级传递给局部视图时,您可以通过局部视图中的Model
对象访问它
<div>
<p>Current rating: @Model</p>
<div>
要了解要处理的模型类型,您需要在局部视图的顶部指定类型:
@model MyNamespace.MovieRating
<div>
<p>Current rating: @Model</p>
<div>
所有这些都假设评级对象将始终属于同一类型。如果您有不同的评级对象,那么您需要将它们解析为单个类型,或者为每种评级对象创建一个视图。
答案 1 :(得分:1)
评级值将是局部视图的Model对象(作为整数或双精度),就像在普通视图中一样使用它。
答案 2 :(得分:1)
使用编辑器模板或显示模板更有效地应对这种情况。使用模板
创建该文件夹:
观看/共享/展示模板
在DisplayTemplates文件夹中创建一个视图。称之为Rating.cshtml
并粘贴该代码:
@model int
<div><p>Current rating: @Model</p></div>
在您的视图中调用此模板,而不是@ Html.Partial:
@Html.DisplayFor(model=>model.contact.rating, "Rating")