标签: partial-views

将部分从一个控制器的视图渲染到另一个控制器的Rails视图

我有一个名为"show"的控制器的视图.在该视图中,我想呈现另一个控制器视图的内容 - 显然,该视图上的表单逻辑与它所属的控制器进行通信.我该怎么做呢?我对rails非常陌生,我对该框架没有100%的信心.

您几乎可以在视图中将它们视为"小部件".我知道您可以使用以下方法在视图上从同一个控制器渲染操作:

render :action => "show_home_page", :layout=> false
Run Code Online (Sandbox Code Playgroud)

但我需要它来从另一个控制器渲染动作(视图).

即.

我有一个视图,它被渲染到一个布局上.该视图属于控制器A.我需要在原始视图中从控制器B渲染"索引"和"新"视图(上图)

.

ruby-on-rails partial-views controllers

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

MVC3布局页面,视图,RenderPartial和将脚本文件放入标题(从局部视图)

所以我有一个布局页面

<head>
    @RenderSection("HeaderLast", required: false)
</head>
Run Code Online (Sandbox Code Playgroud)

一个看法

@section HeaderLast
{
    <script src="@Url.Content("~/Scripts/knockout-1.2.0.js")"
                            type="text/javascript"></script>
}

<div id="profile-tab">
        @{ Html.RenderPartial("_userProfile"); }
</div>
Run Code Online (Sandbox Code Playgroud)

和部分观点

@section HeaderLast
{
    <script type="text/javascript">
        alert('test');
    </script>
}

<div......
Run Code Online (Sandbox Code Playgroud)

我认为这不可能那么简单.有没有一种正确的方法来开箱即用,或者这总是需要某种调解器并传递ViewData周围的东西来手动使内容冒泡到布局页面?

赏金开始了:赏金将奖励为此短期提供的最佳解决方案.如果没有提供答案,我会将其授予@SLaks最初回答此问题.

c# partial-views razor layout-page asp.net-mvc-3

13
推荐指数
2
解决办法
9935
查看次数

如何将HTML内容传递到MVC-Razor中的部分视图,就像"for"块一样

我在我的应用程序中使用Chromatron主题作为管理面板.有一个侧边栏小工具有HTML内容和一些CSS技巧,它可以显示完全不同.

<section class="sidebar nested">
    <h2>Nested Section</h2>
    <p>Lorem ipsum dolor sit amet, conse ctetur adipiscing elit. Maec enas id augue ac metu aliquam.</p>
    <p>Sed pharetra placerat est suscipit sagittis. Phasellus <a href="#">aliquam</a> males uada blandit. Donec adipiscing sem erat.</p>
</section>
Run Code Online (Sandbox Code Playgroud)

我希望有一个像这样使用的部分视图:

@Html.Partial("Path/To/Partial/View"){
    <h2>Nested Section</h2>
    <p>Lorem ipsum dolor sit amet, conse ctetur adipiscing elit. Maec enas id augue ac metu aliquam.</p>
    <p>Sed pharetra placerat est suscipit sagittis. Phasellus <a href="#">aliquam</a> males uada blandit. Donec adipiscing sem erat.</p>
}
Run Code Online (Sandbox Code Playgroud)

TBH,我想拥有像@for(...){ }块一样的功能.这是剃刀的可能吗?

asp.net-mvc partial-views razor asp.net-mvc-3

13
推荐指数
1
解决办法
3931
查看次数

在局部视图中获取viewdatadictionary值

我有一个局部视图,我试图从父视图中获取值.这就是我想要的:

 @Html.Partial("Shared", "Home", new ViewDataDictionary { { "9595959", "8sd8sds8das8d" } }) 
Run Code Online (Sandbox Code Playgroud)

这是部分观点:

      <!-- Google Code for apply Conversion Page --> <script type="text/javascript">
   /* <![CDATA[ */
   var google_conversion_id = "viewdata-number1";
   var google_conversion_language = "en";
   var google_conversion_format = "2";
   var google_conversion_color = "ffffff";
   var google_conversion_label = "viewdata-number2"; var google_conversion_value = 0;
   /* ]]> */
   </script>
   <script type="text/javascript"  
   src="https://www.googleadservices.com/pagead/conversion.js">
   </script>
   <noscript>
   <div style="display:inline;">
   <img height="1" width="1" style="border-style:none;" alt=""  
   src="https://www.googleadservices.com/pagead/conversion/viewdata-number1/?value=0&amp;label=viewdata-number2&amp;guid=ON&amp;script=0"/>
   </div>
   </noscript> 
Run Code Online (Sandbox Code Playgroud)

是否有可能立即获得价值?我没有为部分视图分配任何模型或控制器.先谢谢,Laziale

更新的代码:

@{
    var variable = ViewData["First"];
        <!-- Google Code for apply …
Run Code Online (Sandbox Code Playgroud)

partial-views razor asp.net-mvc-3 asp.net-mvc-4

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

使用JQuery Ajax Post调用渲染一个简单的ASP.NET MVC PartialView

我的MVC控制器中有以下代码:

[HttpPost]
public  PartialViewResult GetPartialDiv(int id /* drop down value */)
{
    PartyInvites.Models.GuestResponse guestResponse = new PartyInvites.Models.GuestResponse();
    guestResponse.Name = "this was generated from this ddl id:";

    return PartialView("MyPartialView", guestResponse);
}
Run Code Online (Sandbox Code Playgroud)

然后在我的视图顶部的javascript中:

$(document).ready(function () {

$(".SelectedCustomer").change( function (event) {
    $.ajax({
        url: "@Url.Action("GetPartialDiv/")" + $(this).val(),
        data: { id : $(this).val() /* add other additional parameters */ },
        cache: false,
        type: "POST",
        dataType: "html",
        success: function (data, textStatus, XMLHttpRequest) {
            SetData(data);
        }
    });

});

    function SetData(data)
    {
        $("#divPartialView").html( data ); // HTML DOM …
Run Code Online (Sandbox Code Playgroud)

ajax asp.net-mvc jquery partial-views

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

MVC中部分VIews和用户控件之间的区别

任何人都可以告诉MVC应用程序中部分视图和用户控件之间的确切区别是什么?哪一个可行使用?我正在使用用户控件来填充我的视图,这些视图有一个或多个选项卡(我已使用Ajax控件工具包添加).我想知道使用部分视图和用户控件时的优缺点.

谢谢,Kaps

asp.net-mvc user-controls partial-views

12
推荐指数
2
解决办法
4601
查看次数

rails访问部分内部的视图名称

我有一个部分,我在不同的页面使用.我想根据呈现它的视图有条件地隐藏部分内部的某个div.

我正在考虑创建一个页面特定的javascript文件,它将查找div并隐藏它.

但是,如果有一种方法来检索部分内部的视图名称/页面名称,它将是部分的中心,并且不需要在多个页面中加载相同的javascript文件.

有没有人知道在局部内部做这件事的方法

ruby-on-rails partial-views

12
推荐指数
2
解决办法
4370
查看次数

MVC 3 Model属性未在html.action调用的局部视图中设置

我的应用程序有问题,生病尝试通过示例解释,我有一个表单,这个表单存在几个文本框和下拉列表.为了可重用性,我将3个下拉列表合并到一个局部视图中,这个部分视图我加载了@ Html.Action,这个工作正常,当我启动表单时,我看到一切都显示为应该是,虽然我不知道为什么但是那些需要直接下拉列表以红色开始显示,并表示它是必填字段.

但是当我填写所有内容时,我从下拉列表中选择值,然后单击"确定",下拉列表中的值为NULL.

我认为使用代码示例会更容易理解:

主要型号:

public class FormModel
{
    [Required]
    public string UserName { get; set; }

    [Required]
    [Display(Name = "Birthdate")]
    public DateTime? Birthdate { get; set; }
    //This is what i'm talking about, that is not being set, the location
    public Location Location { get; set; } 
}
Run Code Online (Sandbox Code Playgroud)

这是位置类,然后传递给局部视图,通常我认为应该设置,它看起来像这样:

public class Location
{
    [Required]
    [Display(Name = "Country")]
    public string CountryId { get; set; }

    [Required]
    [Display(Name = "Region")]
    public string RegionId { get; set; }

    [Required]
    [Display(Name = "City")] …
Run Code Online (Sandbox Code Playgroud)

data-binding model partial-views asp.net-mvc-3

12
推荐指数
1
解决办法
1254
查看次数

如何在MVC 3中的PartialView加载上执行JavaScript函数

\\code
public ActionResult mapPartial(DataTable dt)
        {
            string strEvents = "[";
            foreach (DataRow row in dt.Rows)
            {
                strEvents += "[" + row["Lat"].ToString() + ", " + row["Long"].ToString() + ", " + "\"" +
                row["LastName"].ToString() + row["DateOfBirth"].ToString() + "\"" + "],";
            }
            strEvents = strEvents.Remove(strEvents.LastIndexOf(","));
            strEvents += "]";

            ViewBag.locpoints = strEvents;

            return PartialView(dt);
        }

//in the partial view page
<script type="text/javascript">
       function mapInit(Viewbag.locpoints) {

              var arr = $.parseJSON(Viewbag.locpoints);
              //more code which assigns a map to div map below 
       }
</script>

<div id="map" …
Run Code Online (Sandbox Code Playgroud)

javascript asp.net-mvc partial-views

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

用于_Layout的ASP.Net MVC控制器

我正在为MVC创建一个动态菜单系统,只是为了使它工作,我创建了一个菜单的局部视图,它使用下面的语法很好用:

@Html.RenderPartial("_Menu", (Models.Menu)ViewBag.MainMenu)
Run Code Online (Sandbox Code Playgroud)

但是,为此,我必须在每个Controller和每个操作的ViewBag中设置MainMenu和FooterMenu(或任何其他菜单).为了避免这种情况,我想知道是否有推荐的事件可以全局访问ViewBag.如果没有,有人建议将Menu对象传递给会话变量吗?这对我来说听起来不对,但我现在才想到的事情.

更新:

_Layout.cshtml - 我包含对Action的新调用:

@Html.Action("RenderMenu", "SharedController", new { name = "Main" })
Run Code Online (Sandbox Code Playgroud)

SharedController.cs - 添加了新动作:

public ActionResult RenderMenu(string name)
{
    if (db.Menus.Count<Menu>() > 0 && db.MenuItems.Count<MenuItem>() > 0)
    {
        Menu menu = db.Menus.Include("MenuItems").Single<Menu>(m => m.Name == name);
        return PartialView("_MenuLayout", menu);
    }
    else
    {
        return PartialView("_MenuLayout", null);
    }
}
Run Code Online (Sandbox Code Playgroud)

它抛出以下异常:

未找到路径'/'的控制器或未实现IController.

更新2:

所以,问题是我用全名引用了Controller,你只需要控制器的名称减去"Controller".整洁的花絮.所以,对于我的例子,这有效:

@Html.Action("RenderMenu", "Shared", new { name = "Main" })
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc menu partial-views

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