如何使用Html.RenderPartial()将任意位数据传递给ASP.NET MVC中的用户控件?

JC *_*bbs 5 asp.net asp.net-mvc

我有一个强类型的用户控件("部分"),我希望能够从其包含的视图中传递一些其他信息.例如,我有一个视图绑定到一个产品类,我有一个部分也强烈键入相同的模型,但我还需要将imageSize的附加参数传递给我的部分.我希望能够做到这样的事情:

<% Html.RenderPartial("_ProductImage", ViewData.Model, new { imageSize = 100 }); %>
Run Code Online (Sandbox Code Playgroud)

据我所知,没有办法做到这一点,但我希望比我聪明的人可以有解决方案;)

Cra*_*ntz 5

更改部分模型的类型:

class PartialModel 
{
    public int ImageSize { get; set; }
    public ParentModelType ParentModel { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

现在通过它:

<% Html.RenderPartial("_ProductImage", 
    new PartialModel() { ImageSize = 100, ParentModel = ViewData.Model }); %>
Run Code Online (Sandbox Code Playgroud)