public class RegisterSubscription
{
public string ID { get; set; }
public string Description { get; set; }
public int SubscrSelected { get; set; }
public string Image { get; set; }
public string InfoUrl { get; set; }
}
private List<RegisterSubscription> activePlans = new List<RegisterSubscription>();
在我的控制器中,我有 ViewBag.ActivePlans = activePlans; ,并且ViewBag填充了正确的数据。现在在我看来,我有:
@foreach (var item in ViewBag.ActivePlans)
{
<li class="popupmenu" id="service_@(item.ID)" >
<div>
@Html.Image(item.Image, new { style="border-style:none; text-align:left; vertical-align:middle; width:64px; height:64px" })
</div>
</li>
}
但是我收到以下错误: 'System.Web.Mvc.HtmlHelper'没有名为'Image'的适用方法,但似乎有一个名称的扩展方法。无法动态分派扩展方法。考虑转换动态参数或调用扩展方法而不使用扩展方法语法。
任何帮助将不胜感激, 提前谢谢你。
答案 0 :(得分:12)
警告:我没有做任何MVC的事情,所以这是猜测。
我的猜测是,ActivePlans在某种形式下是动态的...所以你基本上需要强烈输入item
。 可能就像这样简单:
@foreach (RegisterSubscription item in ViewBag.ActivePlans)
...当它从RegisterSubscription
中取出时,基本上会将每个项目投放到ViewBag
。在那之后,我看不出你有什么动态,所以扩展方法应该没问题。我认为。也许。当风正好时。