标签: renderpartial

在C#MVC项目中添加虚假httpContext的会话

如何将会话添加到fakeContext?

我们为部分请求构建此函数,其中内容必须作为字符串返回.只有我们现在在部分请求中没有会话.

我不能像fakeContext.Session = HttpContext.Current.Session那样添加它们

有人建议吗?

    ///<summary>
    /// Invoke the partial request and return the result as a string.
    ///</summary>
    ///<param name="context">The controller context to use.</param>
    ///<returns>A string containing the result of the partial request.</returns>
    public String InvokeAsString(ControllerContext context)
    {
        var stringBuilder = new StringBuilder();
        //create memory writer used for httpresponse.
        var memoryWriter = new StringWriter(stringBuilder);
        //create a fake response
        var fakeResponse = new HttpResponse(memoryWriter);
        //create a fake context.
        var fakeContext = new HttpContext(HttpContext.Current.Request, fakeResponse);
        var oldPrincipal = context.HttpContext.User;
        fakeContext.User …
Run Code Online (Sandbox Code Playgroud)

c# model-view-controller session renderpartial httpcontext

5
推荐指数
1
解决办法
2460
查看次数

什么是保护ASP.NET MVC中的NullReferenceExceptions的正确模式

更新 问题是语法问题.@awrigley显示了在Razor中编写它的正确方法.

以下作品:

@if(Model.Thing.Prop != null)
{
    Html.RenderPartial("SomePartialView", Model.Thing.Prop);
}
Run Code Online (Sandbox Code Playgroud)

您需要显示作为HTML表格Foo的给定顶部1的详细信息Bar.如果为空,如何隐藏空表或显示"未找到"消息Foo

例如.我正在接受NullReferenceException以下一行,因为Model.Thing.Propnull;

@{Html.RenderPartial("SomePartialView", Model.Thing.Prop);} 
Run Code Online (Sandbox Code Playgroud)

故意为null,我的Repository返回null而不是null Foo.但这有点撇开,即给定一个null Model.Thing.Prop,我不想打电话给Html.RenderPartial.

更新
我尝试了以下没有运气:

@if(Model.Thing.Prop != null)
{
    @{Html.RenderPartial("SomePartialView", Model.Thing.Prop);}
}
Run Code Online (Sandbox Code Playgroud)

这导致Visual Studio告诉我它预期;第1行第1列也是第1行第1列;的无效表达式(我猜这是由于MVC3的预发布状态),如果我在我得到的浏览器中点击页面

CS1501:方法'Write'没有重载需要0个参数

@Html.RenderPartial突出显示该行.

我也试过了

@if(Model.Thing.Prop != null)
{
    <text>
    @{Html.RenderPartial("SomePartialView", Model.Thing.Prop);}
    </text>
}
Run Code Online (Sandbox Code Playgroud)

但这会导致NullReferenceException我的部分视图中出现一个似乎不对的内容.Model.Thing绝对是有效的Bar,Model.Thing.Prop绝对是一个null Foo.

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

5
推荐指数
1
解决办法
2360
查看次数

部分渲染未显示

Rails 3.0.7,Windows 7,NetBeans 6.9.1,JRuby 1.5.1,Ruby 1.8.7

我有app/views/browsing/index.rhtml这个相关部分,专注于render电话:

<table>
  <tr>
    <th><em><%=I18n.t('browsing.actions')%></em></th>
    <% colnames = @_controller.model_class.column_names %>
    <% colnames.each do |name| %>
    <% render  :partial => 'browsing/header_field', :locals => {:name => name} %>
    <% end %>
  </tr>
Run Code Online (Sandbox Code Playgroud)

我有app/views/browsing/_header_field.rhtml以下内容:

<% puts "DEBUG: rendering " + name + " field." %>
<% if @_controller.orderables.include?(name.to_sym) %>
<%
  otext = ''
  oopts = @_controller.orderings[name];
  if !oopts.nil?
    otext += ' ' + (oopts[:is_asc] ? '?' : '?')
    otext += '<span class="small">'+oopts[:prio].to_s+'</span>' …
Run Code Online (Sandbox Code Playgroud)

renderpartial ruby-on-rails ruby-on-rails-3

5
推荐指数
1
解决办法
2033
查看次数

Yii - jQuery在renderPartial之后无法正常工作

我知道这个问题已被多次询问,无论是在这里还是在Yii网站上,但即使在完成每个解决方案之后我也无法获得解决方案.我确信我做的事情从根本上是错误的.所以如果你还在读这个 - 这里什么都没有,

我有一个页面,其中加载了CheckBoxList小部件.它有一个change()jQuery函数调用,刷新一个完美运行的CGridView.我还有一个与checkBoxList中具有click事件的每个项相关的span.

此单击事件依次调用"部分呈现"视图的控制器 -

Yii::app()->clientscript->scriptMap['jquery.js'] = false;


$this->widget('ext.xxx.EModelWidget', array(
'name' => $widget_name,
'manufacturer_id' => $manufacturer_id,
    )
);
Run Code Online (Sandbox Code Playgroud)

并且相应的窗口小部件代码在从db获取$ data之后打印CheckBoxList.

echo CHtml::checkBoxList($this->name, array(), $data, array(
        'class' => 'modelFilter',
        'separator' => '',
        'template' => '<div>{input} {label}</div>',
        'id' => 'dummyID',
    ));
Run Code Online (Sandbox Code Playgroud)

如您所见,我已将每个将呈现为复选框的元素的类名设置为modelFilter

现在我在主视图文件中有一个脚本,只需在单击类modelFilter的checkBox时显示一个警告框.

Yii::app()->clientScript->registerScript('model-selected', "
$('input.modelFilter').change(function(){
  alert('Hellpo!');
  });
");
Run Code Online (Sandbox Code Playgroud)

但不幸的是,这种情况从未发生过.

我在所有论坛中阅读的两个常见解决方案是

a)Yii :: app() - > clientscript-> scriptMap ['jquery.js'] = false; 你可以看到我已经适时跟随.

b)renderPartial的$ result和$ processOutput参数分别为false和true.,这也是我所遵循的.

所以我的问题是我应该怎么做才能获得通过Ajax工作加载的内容的更改功能,在Yii!

jquery renderpartial yii

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

Yii ClientSide验证渲染部分不起作用

我有一个Yii表单,它调用另一个模型的渲染部分(团队has_many team_members).我想通过ajax调用部分视图来添加team/_form中的成员.所有工作(调用,显示,保存)除了ajax验证(服务器和客户端).如果我提交表单,会员的模型不会验证,即使在客户端,它也不会验证必填字段.

任何线索?

//_形成

<?php $form=$this->beginWidget('CActiveForm', array(
    'id'=>'team-form',
        'enableAjaxValidation'=>true,
        'enableClientValidation'=>true,
        'clientOptions'=>array(
            'validateOnSubmit'=>true,
            'validateOnChange'=>true

        ),
        'htmlOptions' => array('enctype' => 'multipart/form-data'),
)); ?>
Run Code Online (Sandbox Code Playgroud)

//控制器

public function actionMember($index)
{
    $model = new TeamMember();
        $this->renderPartial('_member',array(
            'model'=> $model, 'index'=> $index
        )
                ,false,true
                ); 
}  

public function actionCreate()
{
        $model=new Team;
        $members = array();
        if(isset($_POST['Team']))
        {
                $model->attributes=$_POST['Team'];

                if(!empty($_POST['TeamMember'])){
                foreach($_POST['TeamMember'] as $team_member)
                            {
                                $mem = new TeamMember();
                                $mem->setAttribute($team_member);
                                if($mem->validate(array('name'))) $members[]=$mem;
                            }
                }
                        $this->redirect(array('team/create','id'=>$model->id,'#'=>'submit-message'));

        }

        $members[]=new TeamMember;
        $this->performAjaxMemberValidation($members);
        $this->render('create',array(
                'model'=>$model,'members'=>$members
        ));

}
Run Code Online (Sandbox Code Playgroud)

//_会员

<div class="row-member<?php echo $index; ?>"> …
Run Code Online (Sandbox Code Playgroud)

ajax renderpartial yii

5
推荐指数
1
解决办法
3100
查看次数

如何使用MVC中的存储库模式创建动态的多个部分视图

我试图有一个通用的主页,根据传递给控件的参数,将显示不同的内容(模块).

例如,用户可以从菜单中选择肯塔基州,肯塔基州的ID是1.家庭控制器获取id(1)并确定该状态的可能模块(简单的数据库调用).也许有一个公告模块和国家的联系人模块.公告模块可能有几个项目,但它只有一个模块.每种类型的模块都会有部分视图.

这是我的基本设置.

public interface IModuleRepository
{
    IList<MenuItemModule> GetMenuItemModules(int menuItem);
    IList<Announcements> GetAnnouncements(int modID);
    IList<News> GetNews(int modID);
    IList<Contacts> GetContacts(int modID);
}



//business object
public class MenuItemModule
{

    private int _MenuItemID;
    private int _ModuleID;
    private int _ModuleDefID;
    private string _Src;
    private int _ModuleOrder;

//get, set properties for these...

}

//announcements entity
public class Announcements
{
    private int _ID = -1;
    private int _MenuItemID = -1;
    private int _ModuleID = -1;
    private string _Description = string.Empty;

//get set props ...
}
Run Code Online (Sandbox Code Playgroud)

在我的家庭控制器......

public …
Run Code Online (Sandbox Code Playgroud)

model-view-controller model renderpartial partial-views asp.net-mvc-3

5
推荐指数
1
解决办法
4017
查看次数

Rails有时会花费太多时间来渲染

在我看来,我正在渲染一部分.这实际上是一个行元素,在表中显示大约500 - 600次.我渴望加载所有协会.但是,问题是,相同的部分需要一些突然不同的渲染时间.

我的rails服务器o/p:

Rendered admin/invoices/_update.html.erb (1330.3ms)
Rendered admin/invoices/_update.html.erb (4.8ms)
Rendered admin/invoices/_update.html.erb (4.8ms)
Rendered admin/invoices/_update.html.erb (8.8ms)
Rendered admin/invoices/_update.html.erb (4.4ms)
Rendered admin/invoices/_update.html.erb (1309.9ms)
Rendered admin/invoices/_update.html.erb (4.7ms)
Rendered admin/invoices/_update.html.erb (4.6ms)
Rendered admin/invoices/_update.html.erb (4.6ms)
Rendered admin/invoices/_update.html.erb (1322.6ms)
Rendered admin/invoices/_update.html.erb (4.2ms)
Run Code Online (Sandbox Code Playgroud)

此外,没有特定的行每次都需要更长的时间.

在我的视图文件中:

<% @updates.each do |update| %>
<%= render :partial => 'update', :locals => {:user => update[0]} #each of this is  a row %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

更新:还建议这是一个很好的方法吗?即:多次循环部分.我不能用分页和Ajax来固定东西.任何其他方法.?

renderpartial partial-views ruby-on-rails-3 ruby-on-rails-3.1

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

在asp.net mvc的masterpage上有条件地渲染部分

嗨,我在asp.net mvc Web应用程序的主页上定义了以下菜单

<%Html.RenderPartial("AdminMenu"); %>
<%Html.RenderPartial("ApproverMenu"); %>
<%Html.RenderPartial("EditorMenu"); %>
Run Code Online (Sandbox Code Playgroud)

但是,我想只显示正确的菜单,具体取决于登录的用户角色.我该如何实现这一目标?

我开始认为我的策略是不正确的,那么是否有更好的方法来实现同样的目标?

c# asp.net-mvc master-pages renderpartial

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

单击,Rails渲染表单部分

我似乎无法弄清楚这一点,我尝试了多个论坛.当我使用javascript点击链接时,我想渲染一个表单.有人可以展示一个如何做到这一点的基本例子吗?

javascript renderpartial ruby-on-rails

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

Rails 渲染 - 获取部分源代码而不是输出 HTML

我真的没有什么大问题,如果很明显,我的坏问题很明显,但是我在 SO 或 google 上找不到这个,这非常罕见,无论如何......我正在使用 Ruby on Rails 创建一个模式库,其中当然包含代码片段与示例一起使用,现在我所做的是在我的视图中某处的文件夹中创建一个部分 - 现在使用以下内容渲染此部分没有问题:

= render partial: '/snippets/grid/single-column.html.slim'

但是,对于这些片段,我还想呈现细长文件本身的实际来源,例如

.container
  ul.test
    li: a href="#"
    li: a href="#"
    li: a href="#"
    li: a href="#"
Run Code Online (Sandbox Code Playgroud)

我希望“普通”渲染的输出与上面的代码片段一样。这样做的原因是我使用 Google Code Prettify 来美化这段代码以提高可读性,并且由于我们在这里使用 slim 作为模板引擎,因此很容易复制代码段并将其粘贴到视图中。

我不确定这是否可行,或者这种类型的渲染是否有特定名称 - 如果是这样,请告诉:)

作为参考,我查看了以下地方,看看我是否可以掌握这一点:

但是我没有在这里找到我的答案。此外,我是 Rails 的大一新生,所以我在构建这些类型的函数方面还没有很多经验(很高兴了解您正在使用的资源 ;))。

像往常一样,所有的帮助都是appriciated 。

提前致谢 - Sidney Liebrand

编辑

是的,包括 rails / slim 版本也可能是明智的:

  • 导轨 4.2.1
  • 超薄 3.0.1

renderpartial ruby-on-rails plaintext slim-lang

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