问题
Say I want to do the simplest of the data passing as follows :
<% For i = 0 To 10%>
<%Html.RenderPartial("MyUserControl")%>
<% Next%>
What I want to do is to pass the variable i as the parameter to the UserControl so that it displays the number inside a, say, bordered div.
How is this possible?
Thanks
回答1:
<% For i = 0 To 10%>
<%Html.RenderPartial("MyUserControl", i)%>
<% Next%>
The RenderPartial method has an overload that allows you to pass in a (sub)model. To use it most effectively, your UserControl should be strongly typed - in this case to a model of type System.Int32.
To use it in a UserControl:
<%@ Control Language="C#"
Inherits="System.Web.Mvc.ViewUserControl<System.Int32>" %>
<div><%= this.Html.Encode(this.Model) %></div>
In this case, this.Model
is a System.Int32 instance.
回答2:
- you do not. This stuff must be in the model, suppsedly.
- PLease upgrade to MVC v2 ;) get rid of the strings.
来源:https://stackoverflow.com/questions/2507729/how-to-pass-data-from-view-to-usercontrol-in-asp-net-mvc