标签: renderpartial

来自母版页的Html.RenderPartial调用

这是一个场景:假设我有两个控制器的站点负责显示不同类型的内容 - 页面和文章.我需要将Partial View嵌入到我的母版页中,该母版页将列出使用某些条件过滤的页面和文章,并显示在每个页面上.我无法在我的母版页上设置模型(我是对的吗?).如何使用Html.RenderPartial解决此任务?

[编辑]是的,我可能会为列出文章和页面创建单独的部分视图,但仍有一个障碍,我不能也不应该在母版页上设置模型.我需要以某种方式说"这里是页面"作为我的renderpartial的参数,也是文章的参数.renderpartial的整个概念与来自masterpages中的数据库的数据对我来说有点模糊.

asp.net asp.net-mvc master-pages html-helper renderpartial

8
推荐指数
1
解决办法
1万
查看次数

如何在单击HTML按钮时呈现部分页面?

我是MVC3.0的新手,必须使用jquery.我想知道有人可以帮助我如何在单击HTML按钮时呈现部分视图页面?

我知道这很简单,按钮可以称为"电子邮件",它将用于名为"emailForm"的partialView.但我需要一些帮助.

jquery renderpartial asp.net-mvc-3

8
推荐指数
2
解决办法
4万
查看次数

渲染@object和locals vs render:partial

我想传递一个包含原点的局部变量来到特定页面,这个变量只包含一个带有值的符号.

当我使用这个代码时它工作得很完美,原始变量可以在partial中访问:

render :partial => "products", :collection => @products, :locals => {:origin => :gallery}
Run Code Online (Sandbox Code Playgroud)

但是,当我使用此代码时,原点未设置且无法在部分中访问:

render @products, :locals => {:origin => :gallery}
Run Code Online (Sandbox Code Playgroud)

这有什么区别?第二行代码是不是像第一行一样呈现部分?

renderpartial partials ruby-on-rails-3

8
推荐指数
1
解决办法
5775
查看次数

点击时渲染部分

我想对某些标准操作进行部分调用.我正在使用此方法来调用partial:

 %li= link_to 'Delete Event', 'javascript:void(0);', :class => 'alert tiny button', :data => {'reveal-id' => :RevealDelete}
= render 'layouts/reveal_delete', :item => event_display(@event.event), :resource => @event
Run Code Online (Sandbox Code Playgroud)

然后在我的部分,

#RevealDelete.reveal-modal


 %a.close-reveal-modal ×
  %h3= "Delete #{item}"
  %p Are you sure you want to delete this?
  =link_to "Delete #{item}", resource, :method => :delete, :remote => :true, :confirm => resource, :class => 'button close-reveal-modal'
  %a.button.alert.close-reveal-modal Cancel
Run Code Online (Sandbox Code Playgroud)

我怎么能有这样的东西:

link_to 'Delete', '#', :partial => 'layouts/delete', :remote => :true? 
Run Code Online (Sandbox Code Playgroud)

所以我只在点击时渲染部分,而不是在页面加载时渲染?

jquery renderpartial ruby-on-rails

8
推荐指数
2
解决办法
3万
查看次数

为什么我得到'nil'不是与ActiveModel兼容的对象.它必须实现:to_partial_path错误?

为什么我收到以下错误?

nil不是与ActiveModel兼容的对象.它必须实现:to_partial_path.

我认为错误可能与我正在使用的教程有关,当我使用Rails 4时.

这是型号代码:

class DashboardsController < ApplicationController
  def show
    @text_shout = TextShout.new
    @photo_shout = PhotoShout.new
    @shouts = current_user.shouts
  end
end

class PhotoShoutsController < ApplicationController
  def create
    content = build_content
    shout = current_user.shouts.build(content: content)
    if shout.save
      redirect_to dashboard_path
    else
      flash.alert = "Could not shout."
      redirect_to dashboard_path
    end
  end

  private
  def build_content
    PhotoShout.new(photo_shout_parameters)
  end

  def photo_shout_parameters
    params.require(:photo_shout).permit(:image)
  end
end
Run Code Online (Sandbox Code Playgroud)

这是在_shout.html partial上发生错误的视图代码

# app/view/dashboards/show.html.erb
<%= form_for @text_shout do |form| %>
   <%= form.text_field :body, placeholder: 'Shout content here' %>
   <%= form.submit …
Run Code Online (Sandbox Code Playgroud)

polymorphism renderpartial ruby-on-rails

8
推荐指数
2
解决办法
6395
查看次数

rails部分中的条件格式

我正在渲染部分轨道,我想在渲染部分时交替使用背景颜色.我知道这不是很清楚,所以这里是我想要做的一个例子:

行一灰色背景行两黄色背景行三灰色背景行四黄色背景
  • 对不起stackoverflow接缝,以防止显示背景颜色,但我认为这使我的想法清楚

这是我正在使用的视图代码

<table>
  <%= render :partial => 'row' :collection => @rows %>
</table>
Run Code Online (Sandbox Code Playgroud)

_row.html.erb部分看起来像这样

<tr bgcolor="#AAAAAA">
  <td><%= row.name %></td>
</tr>
Run Code Online (Sandbox Code Playgroud)

问题是我不知道如何更改每隔一行的背景颜色.有没有办法做到这一点?

ruby renderpartial ruby-on-rails

7
推荐指数
1
解决办法
3589
查看次数

跨多个页面的MVC3 RenderPartial缓存

任何人都可以告诉我是否可以跨多个页面缓存RenderPartial?我有一个用户配置文件的RenderPartial,除非用户更新其配置文件,否则不应该真正改变.因此,每次加载页面时,我都不想回去获取他/她的个人资料.我宁愿传递部分内容直到我被迫更新(即个人资料更新)

我查看了p.haack放在一起的DonutHole示例,但它似乎与单个页面相关.有人能指出我正确的方向或提供任何建议吗?或者我一次只能缓存一页?谢谢!

asp.net-mvc renderpartial razor asp.net-mvc-3

7
推荐指数
1
解决办法
2331
查看次数

MVC 3使用RenderPage更改视图中的模型

我试图在MVC 3中更改我的视图模型时遇到问题.

第一个视图(index.cshtml):

@model IEnumerable<MyProgram.MyFrogCollection>

<h1>Welcome to my frog collection</h1>
@foreach(MyProgram.Frog frog in Model)
{
  <div class="frogDetails">
    @RenderPage("ShowFrogDetails.cshtml", frog);
  </div>
}
Run Code Online (Sandbox Code Playgroud)

第二个视图(ShowFrogDetails.cshtml),我想在整个网站上使用:

@model MyProgram.Frog

<h3>Name:</h3><div class="detail">@Model.Name</div>
<h3>Colour:</h3><div class="detail">@Model.Colour</div>
Run Code Online (Sandbox Code Playgroud)

但是,当我在传入青蛙对象列表后尝试运行页面index.cshtml时,在获取@RenderPage行时出现以下错误:

'/'应用程序中的服务器错误.传递到字典中的模型项的类型为'System.Collections.Generic.List`1 [MyProgram.Frog]',但此字典需要"MyProgram.Frog"类型的模型项.

如果我要从ShowFrogDetails.cshtml中删除代码并将其放在index.cshtml的foreach循环内,那么结果就是我所期望的.但是,这不会重用现有代码.

无论如何我可以将模型更改为单个Frog对象以在RenderPage中使用吗?

干杯!

ienumerable model renderpartial asp.net-mvc-3

7
推荐指数
1
解决办法
4180
查看次数

为什么我不能在App_Code文件夹中的razor帮助器视图文件中使用Html.RenderPartial?

App_Code文件夹中的简单Razor Helper:

MyHelper.cshtml

@using System.Web.Mvc

@helper SimpleHelper(string inputFor){
    <span>@inputFor</span>
    Html.RenderPartial("Partial");
}
Run Code Online (Sandbox Code Playgroud)

视图/共享文件夹中的简单视图:

MyView.cshtml

<html>
    <head

    </head>
    <body>
        @WFRazorHelper.SimpleHelper("test")
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

视图/共享文件夹中的简单部分视图:

Partial.cshtml

<h1>Me is Partial</h1>
Run Code Online (Sandbox Code Playgroud)

编译器抛出错误:

CS1061:'System.Web.WebPages.Html.HtmlHelper'enthältkeine定义für'RenderPartial',und es konnte keine Erweiterungsmethode'RenderPartial'gefunden werden,die ein erstes Argument vom Typ'System.Web.WebPages.Html.HtmlHelper'akzeptiert (Fehlt eine Using-Direktive oder ein Assemblyverweis?).

但如果我在MyView.cshtml中调用Html.RenderPartial一切正常.

我想我必须更改一些web.configs,因为MyView中的HtmlHelper取自System.Web.Mvc而MyHelper.cshtml中的HtmlHelper取自System.Web.WebPages.

我该如何解决?

html-helper renderpartial app-code razor

7
推荐指数
1
解决办法
4114
查看次数

Html Helper,RenderPartial如何工作?如何实现可以从局部视图中引入内容的帮助程序?

当您使用Html.RenderPartial时,将获取您要呈现的视图的名称,并在该位置呈现它的内容.

我想实现类似的东西.我希望它获取您要呈现的视图的名称,以及一些其他变量,并在容器中呈现内容.

例如:

public static class WindowHelper
{
    public static string Window(this HtmlHelper helper, string name, string viewName)
    {
        var sb = new StringBuilder();

        sb.Append("<div id='" + name + "_Window' class='window'>");
        //Add the contents of the partial view to the string builder.
        sb.Append("</div>");

        return sb.ToString();
    }
}
Run Code Online (Sandbox Code Playgroud)

有人知道怎么做吗?

c# asp.net-mvc html-helper renderpartial partial-views

6
推荐指数
2
解决办法
5443
查看次数