HtmlHelper не содержит определения «Действие» - PullRequest
1 голос
/ 17 апреля 2020

Я пытаюсь использовать Html .Action () для визуализации частичного представления (GetNotificationpartial) внутри layout.cs html ... но получил эту ошибку, как я могу исправить эту ошибку

  <li class="dropdown">
                            <a title="الإشعارات" href="#" name="@currenUser.Id" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">
                                <small><span class="glyphicon glyphicon-bell"></span></small><span class="caPet"></span>
                            </a>
                            <ul role="menu" class="dropdown-menu s pre-scrollable" id="notifications">
                                @Html.Action("Home","GetNotificationpartial") 
                                <li><h5 class="text-center">لا توجد إشعارات</h5></li>
                                <li class="divider"></li>
                            </ul>
                        </li>

Ответы [ 2 ]

1 голос
/ 17 апреля 2020

Я думаю, вы можете использовать ViewComponent или jQuery для этого:

Вот пример использования jQuery. Если вы хотите использовать ViewComponent, я опубликую образец позже.

1. In layout page

<div id="partialContainer"></div>
<script>   
    $.get('@Url.Action("GetData", "Home")', {id : 1}, function(content){
            $("#partialContainer").html(content);
        });
</script>

2. Home controller 

[HttpGet]
public IActionResult GetData(int id)
{
   return PartialView(id);
}


3. Partial view

@model int 
<span>Values from controler :</span> @Model
0 голосов
/ 17 апреля 2020

В ASP. NET MVC 5, RenderAction Вызывает указанный дочерний метод действия и визуализирует результат в родительском представлении.

@Html.RenderAction ("Home","GetNotificationpartial");

Дополнительная информация в MSDN о RenderAction

Но в ASP. NET Core, Analyzer сказал вам, если вам нужно выполнить код, используйте компонент представления вместо частичного представления.

Вы можете выполнить рендеринг частичное представление с Partial Помощник по тегам:

<partial name="_GetNotificationpartial" />

Имена частичных представлений начинаются с подчеркивания (_) в соответствии с соглашением об именах.

Кроме того, вы можете использовать метод Async для визуализации Частичные виды:

@await Html.PartialAsync("~/Views/Folder/_GetNotificationpartial.cshtml")
...