【问题标题】:RenderPartial not rendering inside of divRenderPartial 不在 div 内渲染
【发布时间】:2012-04-03 16:46:18
【问题描述】:

您好,我在理解 MVC 3 和 razor 的工作原理时遇到了一些问题。基本上,我有一个使用 Html.Render 部分呈现的视图。基本上,我正在尝试像这样在 div 中呈现内容或部分视图。

<div id="mydiv.id">
@{Html.RenderPartial("_BankAccountGrid", Model.CheckAccounts);}
</div>


@if (Model.Any())
{        

        @{Html.Grid(Model).Columns(c =>
        {
                c.For(a => Html.ActionLink(
                    "Edit",
                    "EditBankAccountDetails",
                    "UserManagement",
                    new { Id = a.Id }, new { id = "modalEdit" }));
                c.For(a => a.AccountName);
                c.For(a => a.AccountNumber);
                c.For(a => a.RoutingNumber);
                c.For(a => a.BankName);
                c.For(a => a.CheckAccountType);
                c.For(a => a.AccountType_Id).Visible(false);
                c.For(a => a.version).Visible(false);
                c.For(a => a.IsDefault).Visible(false);
                c.For(a => a.User_Id).Visible(false);
                c.For(a => a.Id).Visible(false);
            }).Render();
        }      
}

但是,当我在 firebug 中查看 DOM 时,表格总是呈现在 div 之外的表格元素中。这个我也试过了。

@{Html.RenderPartial("_BankAccountGrid", Model.CheckAccounts);}


@if (Model.Any())
{        
    <div id="accounts.grid.div">
        @{Html.Grid(Model).Columns(c =>
        {
                c.For(a => Html.ActionLink(
                    "Edit",
                    "EditBankAccountDetails",
                    "UserManagement",
                    new { Id = a.Id }, new { id = "modalEdit" }));
                c.For(a => a.AccountName);
                c.For(a => a.AccountNumber);
                c.For(a => a.RoutingNumber);
                c.For(a => a.BankName);
                c.For(a => a.CheckAccountType);
                c.For(a => a.AccountType_Id).Visible(false);
                c.For(a => a.version).Visible(false);
                c.For(a => a.IsDefault).Visible(false);
                c.For(a => a.User_Id).Visible(false);
                c.For(a => a.Id).Visible(false);
            }).Render();
        }
    </div>
}

.. 但无济于事。有什么我想念的吗?

如果我不够清楚,或者您只是需要更多信息,请直接询问而不是投反对票。

【问题讨论】:

  • 问题可能是您没有正确关闭 div。使用 '
    ' 并试一试...
  • 不,不是这样。抱歉复制粘贴错误。我现在修复了 div
  • 标签: asp.net-mvc-3 partial-views mvccontrib-grid html.renderpartial


    【解决方案1】:

    Html.RenderPartial 直接写入响应。我想你在这里想要的是 Html.Partial。

    <div id="mydiv.id">
    @Html.Partial("_BankAccountGrid", Model.CheckAccounts)
    <div>
    

    详情请见this question

    【讨论】:

      【解决方案2】:

      您似乎正在使用 MvcContrib.Grid。你应该在你的问题中提到这一点。首先确保您已下载最新版本(为 ASP.NET MVC 3 制作的版本,因为 ASP.NET MVC 2 的旧版本不适用于 Razor)。

      然后像这样尝试:

      @if (Model.Any())
      {        
          @(Html
              .Grid(Model)
              .Columns(c =>
              {
                  c.Custom(
                      @<text>
                          @Html.ActionLink(
                              "Edit", 
                              "EditBankAccountDetails", 
                              "UserManagement", 
                              new { Id = item.Id }, 
                              new { id = "modalEdit" }
                          )
                       </text>
                  ).Named("");
      
                  c.For(a => a.AccountName);
                  c.For(a => a.AccountNumber);
                  c.For(a => a.RoutingNumber);
                  c.For(a => a.BankName);
                  c.For(a => a.CheckAccountType);
                  c.For(a => a.AccountType_Id).Visible(false);
                  c.For(a => a.version).Visible(false);
                  c.For(a => a.IsDefault).Visible(false);
                  c.For(a => a.User_Id).Visible(false);
                  c.For(a => a.Id).Visible(false);
              })
           )
      }
      

      请注意,我正在为 ActionLink 使用 Custom 列,并且我不再在网格上调用 .Render 方法。

      【讨论】:

      • 我应该从哪里获得最新版本?我正在运行从 Nuget 获得的 2.0.95.0 版本。但是,您发布的代码中的这一行 c.Custom 无法解析。
      猜你喜欢
      • 1970-01-01
      • 2019-07-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多