如何将数据从视图传递到ASP.NET MVC中的UserControl?

Jey*_*han 3 c# vb.net asp.net-mvc user-controls viewusercontrol

假设我想做最简单的数据传递,如下所示:

<% For i = 0 To 10%>
    <%Html.RenderPartial("MyUserControl")%>
<% Next%>
Run Code Online (Sandbox Code Playgroud)

我想要做的是将变量i作为参数传递给UserControl,以便它显示一个数字,例如,有边框的div.

这怎么可能?

谢谢

Mar*_*ann 6

<% For i = 0 To 10%> 
    <%Html.RenderPartial("MyUserControl", i)%> 
<% Next%>
Run Code Online (Sandbox Code Playgroud)

RenderPartial方法有一个重载,允许您传入(子)模型.要最有效地使用它,您的UserControl应该是强类型的 - 在本例中是System.Int32类型的模型.


要在UserControl中使用它:

<%@ Control Language="C#"
    Inherits="System.Web.Mvc.ViewUserControl<System.Int32>" %>
<div><%= this.Html.Encode(this.Model) %></div>
Run Code Online (Sandbox Code Playgroud)

在这种情况下,this.Model是一个System.Int32实例.