如何一次又一次地渲染局部(仅使用RenderAction)

发布于 2024-12-22 08:46:16 字数 134 浏览 2 评论 0原文

如何一次又一次地渲染部分(使用 Html.RenderPartial())。

或者如何使用 html.Action("","") 一次又一次地渲染部分内容(通过调用返回部分视图的操作)。

How to render partial(with Html.RenderPartial()) again and again.

Or How to use html.Action("","") to render a partial (by calling an action which is returning partial view ) again and again.

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

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

发布评论

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

评论(2

世界如花海般美丽 2024-12-29 08:46:16

据我了解,您需要在页面上多次显示ParialView。如果这是你的问题,那么你有一些类似集合的东西,它告诉你想要在页面上渲染部分视图多少次。
例如
for(int i =0; i < 5;i++)
{
@Html.Partial("")
}
这将显示局部视图 5 次。

As per my understanding, you need to display ParialView many times on page. if this is your question then you have some thing like a collection which tells that how many time you want to render partialview on page.

For Example
for(int i =0; i < 5;i++)
{

@Html.Partial("")
}
This will display an partial view 5 times.

薆情海 2024-12-29 08:46:16

您可以使用 jQuery 的 $.get()$.ajax()

放置一些 html 元素 (

)

<div id='container>
  <div class='myclass' my-ajax-url='@Model.urlForWhatever' my-url-param='@Model.foo'>
  </div>

  <div class='myclass' my-ajax-url='@Model.urlForWhatever2' my-url-param='@Model.bar'>
  </div>

</div>

添加类似以下内容:

$(document).ready(function () {
  var elems = $('.myclass').each(function () {
     // Perform Ajax call and render the output (contained in response)
     // the element is referreable using $(this) in the each function, so you can swap
     // its content via $(this).html().
     var url=$(this).attr('my-ajax-url') + '¶m=' + $(this).attr('my-url-param');
     $.get(url, function(data) {
         $(this).html(data);
     });
  });
});

Ajax 助手很好,但我发现它对某些内容有些限制。
我更喜欢将数据存储在 DOM 元素中,然后使用 jQuery 来构建 url(那段代码被简化了,没有人会在不先检查的情况下添加 &name=value)

PS:编写此代码而没有机会测试它,但至少应该给出如何做到这一点的想法。

You can use jQuery's $.get() or $.ajax().

Place some html elements (<div class='myclass'>)

<div id='container>
  <div class='myclass' my-ajax-url='@Model.urlForWhatever' my-url-param='@Model.foo'>
  </div>

  <div class='myclass' my-ajax-url='@Model.urlForWhatever2' my-url-param='@Model.bar'>
  </div>

</div>

add something like:

$(document).ready(function () {
  var elems = $('.myclass').each(function () {
     // Perform Ajax call and render the output (contained in response)
     // the element is referreable using $(this) in the each function, so you can swap
     // its content via $(this).html().
     var url=$(this).attr('my-ajax-url') + '¶m=' + $(this).attr('my-url-param');
     $.get(url, function(data) {
         $(this).html(data);
     });
  });
});

Ajax helper is good, but I found it somewhat limited for some kind of stuffs.
I prefer to store data inside DOM elements and then use jQuery for building up the urls (that piece of code is simplified, none would add a &name=value without checking it first)

PS: writing this without having the chance to test it, but should at least give an idea on how to do this.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文