标签: renderpartial

是否可以在不使用respond_to方法和使用非常规文件名的情况下呈现js.erb?

是否可以在不使用respond_to方法的情况下呈现js.erb以响应AJAX请求?

我问的原因有以下几点:

  1. 我只会向控制器发出AJAX调用;
  2. 我不会支持任何其他内容类型(即:html,:xml等); 和
  3. 我希望能够渲染一个不同的js.erb文件,而不是一个与控制器方法相同的文件(即different.js.erb)

以下是一些代码作为示例.

应用程序/视图/职位/ awesome.js.erb:

alert("WOOHOO");
Run Code Online (Sandbox Code Playgroud)

PostsController#创建

def create
  @post = Post.new(params[:task])
  if @post.save 
    render :partial => 'awesome.js.erb'
  end
end
Run Code Online (Sandbox Code Playgroud)

create通过AJAX调用该方法时,Rails会抱怨部分丢失:

ActionView::MissingTemplate (Missing partial post/awesome.js, application/awesome.js with {:handlers=>[:erb, :builder, :coffee, :haml], :formats=>[:js, "application/ecmascript", "application/x-ecmascript", :html, :text, :js, :css, :ics, :csv, :xml, :rss, :atom, :yaml, :multipart_form, :url_encoded_form, :json], :locale=>[:en, :en]}. Searched in:
Run Code Online (Sandbox Code Playgroud)

ajax renderpartial ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1

3
推荐指数
1
解决办法
3232
查看次数

使用rails 3.1中的ajax调用渲染部分视图

我现在开始使用rails,我只想问一下.我需要在一个ajax调用中呈现两个部分:

我有以下控制器:

# GET /hosts/1
# GET /hosts/1.json
def show
   @host = Host.find(params[:id])

   respond_to do |format|
      format.html #show.html
      format.js
      format.json { render :json => @host }
   end
end
Run Code Online (Sandbox Code Playgroud)

和相应的模板(show.js.erb):

$('#tabs-1').html("<%= escape_javascript(render @host) %>");
Run Code Online (Sandbox Code Playgroud)

还有一个名为_host.html.erb的部分文件

这一切都很好.模板"_host.html.erb"在div tabs-1中呈现,但现在我需要在不同的id(#tabs-2)中添加一些其他部分模板,但是使用相同的@host我该怎么做?默认情况下,render @host方法将使用模板文件"_host.html.erb".我如何调用另一个像_host2.html.erb并具有相同的@host实例?

谢谢,Joao

ajax renderpartial ruby-on-rails erb ruby-on-rails-3.1

3
推荐指数
1
解决办法
4207
查看次数

Html.RenderPartial不生成值

好的一天,所有.

我知道这对于MVC而言是一个非常基本的问题,但我不能为我的生活得到@ Html.RenderPartial不给我错误.我正在使用VB.NET和Razor.我在网上找到的大多数例子都是用c#编写的,这对我来说并不难转换,但这个简单的例子让我感到难过.这是在我的索引视图中,由_Layout.vbhtml呈现:

@Section MixPage
    @Html.RenderPartial("_MixScreen", ViewData.Model)
End Section
Run Code Online (Sandbox Code Playgroud)

上面的表达式不会产生值.

今天早上我已经看了很长一段时间,我所采用的例子如下:

http://geekswithblogs.net/blachniet/archive/2011/08/03/walkthrough-updating-partial-views-with-unobtrusive-ajax-in-mvc-3.aspx

从控制器内部获取部分视图的HTML

最终,我要做的是从控制器返回并更新模型到局部视图:

    Function UpdateFormulation(model As FormulationModel) As ActionResult
        model.GetCalculation()
        Return PartialView("_MixScreen", model)
    End Function
Run Code Online (Sandbox Code Playgroud)

并且该控制器是从javascript中的表达式调用的:

function UpdateResults() {
    jQuery.support.cors = true;
    var theUrl = '/Home/UpdateFormulation/';
    var formulation = getFormulation();
    $.ajax({
        type: "POST",
        url: theUrl,
        contentType: "application/json",
        dataType: "json",
        data: JSON.stringify(formulation),
        success: function (result, textStatus) {
            result = jQuery.parseJSON(result.d);
            if (result.ErrorMessage == null) {
                FillMixScreen(result);
            } else {
                alert(result.ErrorMessage);
            }
        },
        error: function (xhr, result) {
            alert("readyState: " + …
Run Code Online (Sandbox Code Playgroud)

jquery renderpartial vb.net-2010 razor asp.net-mvc-3

3
推荐指数
1
解决办法
6000
查看次数

在Ruby on rails上渲染部分集合正在增加项目

我想在Ruby-on-Rails中显示页面中的项目列表.我使用偏爱

在我的index.html.erb文件中我有:

<%= @lista = News.find(:all, :order => Document::COL_DATE + ' DESC, id DESC')
    render :partial => "newsitem",
           :layout => "list_news",
           :spacer_template => "spacer",
           :collection => @lista
%>
Run Code Online (Sandbox Code Playgroud)

_list_news.html.erb我有:

<div class="news">
  <%= yield %>
</div>
Run Code Online (Sandbox Code Playgroud)

_spacer.html.erb 我有<hr/>

_newsitem.html.erb我有

<%= newsitem_counter + 1 %>
<!-- Code to print details for one item -->
Run Code Online (Sandbox Code Playgroud)

问题是它多次打印列表:

如果列表有3个项目,则显示3次:1,2,3,1,2,3,1,2,3.
如果它有7个项目,那么这些项目将被打印7次.

我的代码有什么问题?

collections renderpartial ruby-on-rails

2
推荐指数
1
解决办法
5003
查看次数

如何使用render(:update)和replace_html重新加载div?

如何只重新加载页面上的div id?我只需要重新加载某个div.

在我的控制器中我有

def mycontrolleraction
 ...

 render(:update) do |page|
   reload_only_the_div('adiv'), :controller => 'my_controller'
 end

end
Run Code Online (Sandbox Code Playgroud)

这可能吗?

renderpartial ruby-on-rails rjs

2
推荐指数
1
解决办法
8764
查看次数

MVC3 Razor循环中奇怪的隐藏角色

我有一个循环

<ul id="news-list" class="thumbobs-list">
    @foreach (var item in Model.News) {
        @Html.Partial("RenderNews/" + item.TypeString, item)
    }
</ul>
Run Code Online (Sandbox Code Playgroud)

使用像这样的部分

@model Web.Models.DataModel.NewsItem
@{ Layout = null; }
<li class="news-item @Model.TypeString.ToLower()" id="id-@Model.Id">
   <h3 class="headline">
     Example News headline.
   </h3>
   <p class="timestamp">@Model.TimeString</p>
</li>
Run Code Online (Sandbox Code Playgroud)

这很棒

但是当我用css去风格时,我遇到了一个导致问题的隐藏空白字符

在每个部分空间前面,U + FEFF和另一个空间导致设计问题.

有没有人见过这个?

unicode renderpartial razor asp.net-mvc-3

2
推荐指数
1
解决办法
602
查看次数

Yii:呈现部分并以JSON格式返回AJAX

根据上述主题,我对数据的返回有些困惑.因此,当我尝试将渲染局部视图数据从我的控制器返回到AJAX时,代码将如下所示.

JQuery AJAX:

$.ajax({
         url: "<?php echo $this->createUrl('ajaxrequest');?>",
         type: "POST",
         data: {affordableCarPrice: ccarprice},                        
         success: function(data){
            console.log(data);
         }
});
Run Code Online (Sandbox Code Playgroud)

Yii控制器

public function actionAjaxrequest(){               

        $carListingView[] = $this->renderPartial("_budgetNewCarsListing", array('newCarListing' => $newCarListing), true);
        $carListingView[] = $this->renderPartial("_budgetUsedCarsListing", array('usedCarListing' => $usedCarListing), true);

        var_dump($carListingView);
}
Run Code Online (Sandbox Code Playgroud)

控制器内部的代码,我最小化它,当我记录返回数据时,它给了我正确的.但是,当我在控制器中使用json_encode数组时,我回去查看返回数据,它给了我错误的数据.

尽管我在JQuery ajax中设置了dataType:'json'和contentType:"application/json; charset = utf-8".或标题('Content-type:application/json'); 在控制器中.它仍然返回错误的数据.

需要帮助非常糟糕,因为我差不多2天就解决了这个问题.:(

ajax jquery renderpartial yii

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

如何在Ajax.Beginform中使用@ Html.RenderPartial?

是否可以在@using(Ajax.BeginForm)代码块中使用@ Html.RenderPartial?如果我使用@ Html.RenderPartial它不起作用,如果我将整个razor代码直接放在@using(Ajax.BeginForm)块中,它就可以工作.

任何人都可以建议是否可能?

renderpartial ajax.beginform asp.net-mvc-4

2
推荐指数
1
解决办法
3436
查看次数

将动作渲染为字符串

我有一个返回partialview的动作,我想将动作结果呈现给字符串,我尝试了很多关于这个主题的其他线程的示例,但都有相同的行为,执行de View但不是动作,这是可能的?

示例:1)操作 - 呈现为字符串的部分视图

    public PartialViewResult Email(string Subject, string Body)
    {
        ViewBag.Subject = Subject;
        ViewBag.Body = Body;

        ViewBag.ExtraData = Session["ExtraData"];

        return PartialView();
    }
Run Code Online (Sandbox Code Playgroud)

2)部分视图

@{
    Layout = null;
    string Subject = (string)@ViewBag.Subject
    string Body = (string)@ViewBag.Body
}
<html>
<head>
    <title>@Subject</title>
</head>
<body style="margin:0px">
       @Body
</body>
Run Code Online (Sandbox Code Playgroud)

3)控制器类获取字符串动作结果

var emailHTML = RenderViewToString(ControllerContext, "Email", new string[] { subject, msg });
Run Code Online (Sandbox Code Playgroud)

4)来自stackoverflow线程的Helper方法

    public static string RenderViewToString(ControllerContext context, string viewName, object model)
    {
        if (string.IsNullOrEmpty(viewName))
            viewName = context.RouteData.GetRequiredString("action");

        ViewDataDictionary viewData = new ViewDataDictionary(model);

        using …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc action renderpartial asp.net-mvc-4

2
推荐指数
1
解决办法
5573
查看次数

MVC PartialView不刷新数据

我有一个索引页面:

@model AlfoncinaMVC.Models.VentaIndexViewModel

@{
    ViewBag.Title = "Ventas";
    Layout = "~/Views/Shared/_Layout.cshtml";
}

<script>
    var d = 1;
    setInterval(function () {
        d++;
        $('#testLabe').text(d);
        $.ajax("Ventas");
    }, 1000 * 1 * 1);
</script>

<div id="ventasTable">
    @{ Html.RenderPartial("_VentasTable"); }
    @*@Html.Partial("_VentasTable")*@
</div>

<label id="testLabe"></label>
Run Code Online (Sandbox Code Playgroud)

部分视图(_VentasTable):

@model AlfoncinaMVC.Models.VentaIndexViewModel

<table>
    <thead>

    </thead>
    <tbody>
        @foreach (var item in @Model.Ventas)
        {
            <tr>
                <td>
                    @item.nombreArticulo
                </td>
            </tr>
        }
    </tbody>
</table>
Run Code Online (Sandbox Code Playgroud)

有了这个控制器:

public ActionResult Ventas()
        {
            var db = new AlfonsinaEntities();
            var ventas = db.Set<Venta>();

            var vm = new VentaIndexViewModel
            {
                Ventas …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc renderpartial asp.net-mvc-partialview asp.net-mvc-4

2
推荐指数
1
解决办法
4593
查看次数