如何修改Html.Partial返回的MVCHtmlString(“PartialViewName”)

时间:2017-09-04 06:35:25

标签: c# asp.net-mvc asp.net-mvc-4

我有一个局部视图,其中有一个锚标记。一旦我使用Html.Partial()加载局部视图,我想根据条件删除该锚标记。像:

@{
   var html = Html.Partial("PartialView");
   if(true)
   {
      // Delete anchor tag from MVCHtmlString.
   }
}

注意:我想删除锚标记,然后想在页面上渲染剩余的html。我知道ViewBag,Jquery / Javascript的所有技巧。我只是想知道我怎么能这样做?我怎么能得到那个元素以及如何删除它并渲染仍然是html?

1 个答案:

答案 0 :(得分:0)

正如评论所示,您可以在局部视图中处理此问题,而不是操纵MvcHtmlString。如果您关注的是您在许多地方使用的部分视图,则可以使用ViewBag,如下所示:

在您当前的ActionMethod

ViewBag.HideAnchor = true;

在您的部分视图中:

// first condition is true for all the other places it is being used
@if (ViewBag.HideAnchor == null || !ViewBag.HideAnchor)
{
    // your anchor
}