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

发布于 2024-08-26 08:19:08 字数 230 浏览 10 评论 0原文

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

<% For i = 0 To 10%>
    <%Html.RenderPartial("MyUserControl")%>
<% Next%>

我想做的是将变量 i 作为参数传递给 UserControl,以便它显示带边框的 div 内的数字。

这怎么可能?

谢谢

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

遗忘曾经 2024-09-02 08:19:08
<% For i = 0 To 10%> 
    <%Html.RenderPartial("MyUserControl", i)%> 
<% Next%>

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


要在 UserControl 中使用它:

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

在本例中,this.Model 是一个 System.Int32 实例。

<% 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.

半仙 2024-09-02 08:19:08
  • 你没有。据推测,这些东西必须在模型中。
  • 请升级到 MVC v2 ;) 摆脱字符串。
  • you do not. This stuff must be in the model, suppsedly.
  • PLease upgrade to MVC v2 ;) get rid of the strings.
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文