
Всем привет! Раз 10 в день получаю такую ошибку:
Ошибка выполнения дочернего запроса для дескриптора ‘System.Web.Mvc.HttpHandlerUtil+ServerExecuteHttpHandlerAsyncWrapper’.
в System.Web.HttpServerUtility.ExecuteInternal(IHttpHandler handler, TextWriter writer, Boolean preserveForm, Boolean setPreviousPage, VirtualPath path, VirtualPath filePath, String physPath, Exception error, String queryStringOverride) в System.Web.HttpServerUtility.Execute(IHttpHandler handler, TextWriter writer, Boolean preserveForm, Boolean setPreviousPage) в System.Web.HttpServerUtilityWrapper.Execute(IHttpHandler handler, TextWriter writer, Boolean preserveForm) в System.Web.Mvc.Html.ChildActionExtensions.ActionHelper(HtmlHelper htmlHelper, String actionName, String controllerName, RouteValueDictionary routeValues, TextWriter textWriter) в System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper htmlHelper, String actionName, String controllerName, RouteValueDictionary routeValues) в ASP._Page_Views_Shared__Layout_cshtml.Execute() в e:wwwsite.comViewsShared_Layout.cshtml:строка 34 в System.Web.WebPages.WebPageBase.ExecutePageHierarchy() в System.Web.Mvc.WebViewPage.ExecutePageHierarchy() в System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage) в System.Web.WebPages.WebPageBase.RenderSurrounding(String partialViewName, Action`1 body) в System.Web.WebPages.WebPageBase.PopContext() в System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context) в System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass21.b__1e(IAsy ncResult asyncResult) в System.Web.Mvc.Controller.b__1d(IAsyncResult asyncResult, ExecuteCoreState innerState) в System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallEndDelegate(IAsyn cResult asyncResult) в System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult) в System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallEndDelegate(IAsyn cResult asyncResult) в System.Web.Mvc.MvcHandler.b__5(IAsyncResult asyncResult, ProcessRequestState innerState) в System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallEndDelegate(IAsyn cResult asyncResult) в System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.I ExecutionStep.Execute() в System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
в файле _Layout.cshtml у меня вызов шапки — @{Html.RenderAction(«Header»);}
в шапке чисто html
контроллер
| C# | ||
|
пробовал в вью прописать:
@{
Layout = null;
}
ошибки все равно сыпятся.
Куда можно копнть?
Причина из-за которой все не работало: если action контроллера вызывается из View, то такой вызов считается дочерним. А в ASP.NET MVC 5 дочерние методы нельзя вызывать асинхронно. В ASP.NET Core вроде все как-то по другому, на сколько я правильно понял.
Сложность задачи для меня заключается в том что: мне необходимо вызывать частичное представление _RMschool.cshtml на разных страницах моего приложения, а оно у меня типизированное. И поэтому перед его вызовом (_RMschool.cshtml) необходимо еще получить модель для нее.
Решение. Нашел статью в Интернете и с ее помощью вышел из ситуации:
ReportController.cs
[HttpGet]
public async Task<ActionResult> Report()
{
var model = await GetRMschoolList(User.Identity.Name);
return PartialView("_RMschool", model);
}
public async Task<ActionResult> GetRMschoolPV(string _schoolID)
{
var model = await this.GetRMschoolList(_schoolID);
return PartialView("_RMschool", model);
}
public async Task<List<RMschool>> GetRMschoolList(string _schoolID) //GetViewModel
{
Account account = new Account("chr_coko.pto@mail.ru", "***");
var api = new MailRuCloud();
api.Account = account;
var items = await api.GetItems($@"/Reports/{_schoolID}");
school school_current = schoolRepository.GetT(_schoolID);
List<RMschool> model = new List<RMschool>();
//du stuff
return (model);
}
Report.cshtml
@model IEnumerable<Monit95App.Models.RMschool>
@{ Html.RenderPartial("_RMschool", Model);}
_RMschool.cshtml
@model IEnumerable<Monit95App.Models.RMschool>
<body>
<table class="table">
<thead class="thead-inverse">
<tr>
<th>Проект</th>
<th>Отчет</th>
<th>Учебный год</th>
</tr>
</thead>
@foreach (var reportMeta in Model.OrderByDescending(x => x.code))
{
<tr>
<td>@reportMeta.ProjectName</td>
<td><a href="@reportMeta.WWWref">@reportMeta.name</a></td>
<td>@reportMeta.year</td>
</tr>
}
</table>
</body>
Причина из-за которой все не работало: если action контроллера вызывается из View, то такой вызов считается дочерним. А в ASP.NET MVC 5 дочерние методы нельзя вызывать асинхронно. В ASP.NET Core вроде все как-то по другому, на сколько я правильно понял.
Сложность задачи для меня заключается в том что: мне необходимо вызывать частичное представление _RMschool.cshtml на разных страницах моего приложения, а оно у меня типизированное. И поэтому перед его вызовом (_RMschool.cshtml) необходимо еще получить модель для нее.
Решение. Нашел статью в Интернете и с ее помощью вышел из ситуации:
ReportController.cs
[HttpGet]
public async Task<ActionResult> Report()
{
var model = await GetRMschoolList(User.Identity.Name);
return PartialView("_RMschool", model);
}
public async Task<ActionResult> GetRMschoolPV(string _schoolID)
{
var model = await this.GetRMschoolList(_schoolID);
return PartialView("_RMschool", model);
}
public async Task<List<RMschool>> GetRMschoolList(string _schoolID) //GetViewModel
{
Account account = new Account("[email protected]", "***");
var api = new MailRuCloud();
api.Account = account;
var items = await api.GetItems($@"/Reports/{_schoolID}");
school school_current = schoolRepository.GetT(_schoolID);
List<RMschool> model = new List<RMschool>();
//du stuff
return (model);
}
Report.cshtml
@model IEnumerable<Monit95App.Models.RMschool>
@{ Html.RenderPartial("_RMschool", Model);}
_RMschool.cshtml
@model IEnumerable<Monit95App.Models.RMschool>
<body>
<table class="table">
<thead class="thead-inverse">
<tr>
<th>Проект</th>
<th>Отчет</th>
<th>Учебный год</th>
</tr>
</thead>
@foreach (var reportMeta in Model.OrderByDescending(x => x.code))
{
<tr>
<td>@reportMeta.ProjectName</td>
<td><a href="@reportMeta.WWWref">@reportMeta.name</a></td>
<td>@reportMeta.year</td>
</tr>
}
</table>
</body>
I am trying to implement a logic where use should be returned to login page in case of direct link to some products in NopCommerce site.
I have implemented redirect code here:
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
if (filterContext.ActionDescriptor.ControllerDescriptor.ControllerName != "Home" && filterContext.ActionDescriptor.ControllerDescriptor.ControllerName != "Customer" &&
filterContext.ActionDescriptor.ActionName != "Index" && filterContext.ActionDescriptor.ActionName != "Login")
{
if (filterContext.HttpContext.Session["AgeAuth"] == null)
{
var HomeUrl = new UrlHelper(filterContext.RequestContext).RouteUrl("AgeAuthPage") +"?returnUrl=" + HttpUtility.UrlEncode(HttpContext.Current.Request.RawUrl);
filterContext.Result = new RedirectResult(HomeUrl);
}
}
}
Home page controller code:
public ActionResult AgeAuth()
{
if (_httpContext.Session == null || _httpContext.Session["AgeAuth"] == null)
{
var model = new LoginModel();
model.UsernamesEnabled = true;
return View(model);
//return View();
}
else
{
return RedirectToAction("Index", "Home");
}
}
[HttpPost]
public ActionResult AgeAuth(FormCollection frm, string returnUrl)
{
DateTime _birthdate = new DateTime(int.Parse(frm["birthyear"].ToString()), int.Parse(frm["birthmonth"].ToString()), int.Parse(frm["birthday"].ToString()));
DateTime _now = DateTime.Now;
int age = _now.Year - _birthdate.Year;
if (_now.Month < _birthdate.Month || (_now.Month == _birthdate.Month && _now.Day < _birthdate.Day))
age--;
if (age > 21)
{
_httpContext.Session["AgeAuth"] = "Valid";
_httpContext.Session.Timeout = 720;
if (!String.IsNullOrEmpty(returnUrl) && Url.IsLocalUrl(returnUrl))
return Redirect(returnUrl);
}
return RedirectToAction("Index", "Home");
}
I know one of the partial view is causing some issue, but I am not really sure where look for it in below stack trace. I am new to NopCommerce and MVC.
Can I get a pointer to start at?
Here is the stack trace:
System.InvalidOperationException: Child actions are not allowed to perform redirect actions.
at System.Web.Mvc.RedirectResult.ExecuteResult(ControllerContext context)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResult(ControllerContext controllerContext, ActionResult actionResult)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList`1 filters, ActionResult actionResult)
at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass21.<>c__DisplayClass2b.<BeginInvokeAction>b__1c()
at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass21.<BeginInvokeAction>b__1e(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult`1.CallEndDelegate(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResultBase`1.End()
at System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult)
at System.Web.Mvc.Controller.<BeginExecuteCore>b__1d(IAsyncResult asyncResult, ExecuteCoreState innerState)
at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResultBase`1.End()
at System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult)
at System.Web.Mvc.Controller.<BeginExecute>b__15(IAsyncResult asyncResult, Controller controller)
at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResultBase`1.End()
at System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult)
at System.Web.Mvc.Controller.System.Web.Mvc.Async.IAsyncController.EndExecute(IAsyncResult asyncResult)
at System.Web.Mvc.MvcHandler.<BeginProcessRequest>b__5(IAsyncResult asyncResult, ProcessRequestState innerState)
at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResultBase`1.End()
at System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult)
at System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult result)
at System.Web.Mvc.HttpHandlerUtil.ServerExecuteHttpHandlerAsyncWrapper.<>c__DisplayClassa.<EndProcessRequest>b__9()
at System.Web.Mvc.HttpHandlerUtil.ServerExecuteHttpHandlerWrapper.<>c__DisplayClass4.<Wrap>b__3()
at System.Web.Mvc.HttpHandlerUtil.ServerExecuteHttpHandlerWrapper.Wrap[TResult](Func`1 func)
at System.Web.Mvc.HttpHandlerUtil.ServerExecuteHttpHandlerWrapper.Wrap(Action action)
at System.Web.Mvc.HttpHandlerUtil.ServerExecuteHttpHandlerAsyncWrapper.EndProcessRequest(IAsyncResult result)
at System.Web.HttpServerUtility.ExecuteInternal(IHttpHandler handler, TextWriter writer, Boolean preserveForm, Boolean setPreviousPage, VirtualPath path, VirtualPath filePath, String physPath, Exception error, String queryStringOverride)
at System.Web.HttpServerUtility.ExecuteInternal(IHttpHandler handler, TextWriter writer, Boolean preserveForm, Boolean setPreviousPage, VirtualPath path, VirtualPath filePath, String physPath, Exception error, String queryStringOverride)
at System.Web.HttpServerUtility.Execute(IHttpHandler handler, TextWriter writer, Boolean preserveForm, Boolean setPreviousPage)
at System.Web.HttpServerUtility.Execute(IHttpHandler handler, TextWriter writer, Boolean preserveForm)
at System.Web.HttpServerUtilityWrapper.Execute(IHttpHandler handler, TextWriter writer, Boolean preserveForm)
at System.Web.Mvc.Html.ChildActionExtensions.ActionHelper(HtmlHelper htmlHelper, String actionName, String controllerName, RouteValueDictionary routeValues, TextWriter textWriter)
at System.Web.Mvc.Html.ChildActionExtensions.Action(HtmlHelper htmlHelper, String actionName, String controllerName, RouteValueDictionary routeValues)
at System.Web.Mvc.Html.ChildActionExtensions.Action(HtmlHelper htmlHelper, String actionName, String controllerName, Object routeValues)
at Nop.Web.Framework.HtmlExtensions.Widget(HtmlHelper helper, String widgetZone, Object additionalData)
at ASP._Page_Themes_Lavella_Views_Shared__ProductBox_cshtml.Execute() in c:inetpubtest-eCommerceThemesLavellaViewsShared_ProductBox.cshtml:line 91
at System.Web.WebPages.WebPageBase.ExecutePageHierarchy()
at System.Web.Mvc.WebViewPage.ExecutePageHierarchy()
at System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage)
at System.Web.Mvc.RazorView.RenderView(ViewContext viewContext, TextWriter writer, Object instance)
at System.Web.Mvc.BuildManagerCompiledView.Render(ViewContext viewContext, TextWriter writer)
at System.Web.Mvc.HtmlHelper.RenderPartialInternal(String partialViewName, ViewDataDictionary viewData, Object model, TextWriter writer, ViewEngineCollection viewEngineCollection)
at System.Web.Mvc.Html.PartialExtensions.Partial(HtmlHelper htmlHelper, String partialViewName, Object model, ViewDataDictionary viewData)
at System.Web.Mvc.Html.PartialExtensions.Partial(HtmlHelper htmlHelper, String partialViewName, Object model)
at ASP._Page_Views_PromotionPage_Index_cshtml.Execute() in c:inetpubtest-eCommerceViewsPromotionPageIndex.cshtml:line 24
at System.Web.WebPages.WebPageBase.ExecutePageHierarchy()
at System.Web.Mvc.WebViewPage.ExecutePageHierarchy()
at System.Web.WebPages.StartPage.RunPage()
at System.Web.WebPages.StartPage.ExecutePageHierarchy()
at System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage)
at System.Web.Mvc.RazorView.RenderView(ViewContext viewContext, TextWriter writer, Object instance)
at System.Web.Mvc.BuildManagerCompiledView.Render(ViewContext viewContext, TextWriter writer)
at System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResult(ControllerContext controllerContext, ActionResult actionResult)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList`1 filters, ActionResult actionResult)
at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass21.<>c__DisplayClass2b.<BeginInvokeAction>b__1c()
at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass21.<BeginInvokeAction>b__1e(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult`1.CallEndDelegate(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResultBase`1.End()
at System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult)
at System.Web.Mvc.Controller.<BeginExecuteCore>b__1d(IAsyncResult asyncResult, ExecuteCoreState innerState)
at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResultBase`1.End()
at System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult)
at System.Web.Mvc.Controller.<BeginExecute>b__15(IAsyncResult asyncResult, Controller controller)
at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResultBase`1.End()
at System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult)
at System.Web.Mvc.Controller.System.Web.Mvc.Async.IAsyncController.EndExecute(IAsyncResult asyncResult)
at System.Web.Mvc.MvcHandler.<BeginProcessRequest>b__5(IAsyncResult asyncResult, ProcessRequestState innerState)
at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResultBase`1.End() at System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult)
at System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult result)
at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
Ошибка при выполнении дочернего запроса для обработчика в представлении
У меня есть представление MVC 4, где я выполняю следующие действия
@{
Html.RenderAction("Index", "Logo");
Html.RenderAction("Index", "MainMenu");
}
У меня есть форма на моем представлении, которая заполняется и отправляется на контроллер. В контроллере я выполняю некоторые задачи, а затем отправлю модель обратно в мое представление
[HttpPost]
public ActionResult Index(ManageAdministratorModel manageAdministratorModel)
{
// I save some of the fields to the database here.
return View(manageAdministratorModel);
}
Когда я перенаправлен на представление, я получаю следующую ошибку
Ошибка выполнения дочернего запроса для обработчика ‘System.Web.Mvc.HttpHandlerUtil + ServerExecuteHttpHandlerAsyncWrapper’.
в этой строке
Html.RenderAction("Index", "Logo");
Любая идея, почему это происходит?
09 окт. 2013, в 15:05
Поделиться
Источник
Хорошо, я нашел проблему, надеюсь, это поможет кому-то в будущем.
Контроллеры для частичных представлений содержали атрибут [HttpGet]. Например
[HttpGet]
public ActionResult Index()
{
}
Я удаляю атрибут с обоих контроллеров
public ActionResult Index()
{
}
и теперь все работает.
user65439
09 окт. 2013, в 15:20
Поделиться
Я только что получил эту ошибку, возникающую в моей бритве, когда у моего частичного представления была ошибка форматирования кода.
Если вы нажмете «Продолжить», чтобы пройти мимо ошибки, вы увидите фактическое сообщение об ошибке, отображаемое в окне браузера, из которого вы его загрузили.
Исправьте ошибку в частичном представлении, и это сработает!
Luke
19 дек. 2014, в 18:10
Поделиться
Заменить:
return View(manageAdministratorModel);
с:
return PartialView(manageAdministratorModel);
в противном случае вы можете заканчиваться бесконечным циклом, потому что вы визуализируете представление, которое пытается отобразить представление, которое пытается отобразить представление,…
Также вам может потребоваться удалить атрибут [HttpPost] из вашего дочернего действия.
Darin Dimitrov
09 окт. 2013, в 14:19
Поделиться
Пример «Только действие с детьми»:
public class FiltersController : Controller
{
public ActionResult Index()
{
return View();
}
[ChildActionOnly]
public ActionResult Departments()
{
string s = "Mahi and kallu";
return View(s);
}
}
**for this am creating 2 views**
1) Index:
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Index</title>
</head>
<body>
<div>
@Html.Partial("Departments","Filters")
</body>
</html>
**and for Departments View:**
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Departments</title>
</head>
<body>
<div>
@Model
</div>
</body>
</html>
the ***childactions*** can be rendered with the help of "Partial" keyword.
mtrivedi
16 окт. 2015, в 13:51
Поделиться
У меня была эта проблема. Это может произойти, потому что движок рендеринга не может найти никакого представления (соответствующего имени, указанному в acton). Я дал неправильное имя представления (я ошибочно дал имя действия вместо имени представления), когда я возвращаю имя представления и модель представления с помощью метода PartialView(), я исправил свое имя вида и работал нормально
Code_Worm
07 фев. 2017, в 06:56
Поделиться
Извлеките макет @{ Layout = null; } в дочернем представлении.
user2021262
31 июль 2016, в 00:12
Поделиться
Я столкнулся с той же проблемой, но я поместил атрибут [HTTPGet] поверх имени функции, и это сработало для меня.
[HttpGet]
//for Filter parital view
[ChildActionOnly]
public ActionResult Filter()
{
// Your code will come here.
}
Fox Eyes
15 окт. 2016, в 06:57
Поделиться
Я получил эту ошибку, но моя проблема была другой.
Чтобы узнать, что такое ошибка, включите строку, в которой вы получаете ошибку внутри кода catch catch, например:
try
{
@Html.RenderAction("Index", "Logo", new {id = Model.id});
}
catch (Exception e)
{
throw;
}
Выполните его с точкой прерывания в линии броска и проверьте внутреннее исключение «e».
Моя проблема заключалась в том, что я изменил имя параметра на моем контроллере и забыл изменить его на моем представлении.
Легче получить ошибку, используя try catch.
Lucas
29 июль 2016, в 17:49
Поделиться
У меня была такая же ошибка. Это началось, когда я изменил действие на другой контроллер, поэтому при запуске программы не удалось найти представление в папке. Итак, если вы переместите действие на другой контроллер, также переместите представление в соответствующий контроллер папки.
Jahiron Rodriguez
12 май 2016, в 16:17
Поделиться
У меня была точно такая же проблема, и поскольку я использовал маршрутизацию атрибутов, внутреннее сообщение об ошибке исключения было:
No matching action was found on controller ''.
This can happen when a controller uses RouteAttribute for routing,
but no action on that controller matches the request.
Удалите атрибуты [HttpGet] из методов действий, вызванных Html.Action(), и он работает. Не имеет никакого отношения к маршрутизации.
nmit026
20 окт. 2015, в 23:12
Поделиться
Ещё вопросы
- 0Могу ли я работать с 4 int32_t, содержащимися в __m128i?
- 0MySQL Выберите поле как Distinct с типом данных как Text с фильтрацией
- 1Vue.js: отключение кнопки на родительском компоненте в зависимости от состояния дочернего компонента
- 1Выпадение между двумя слоями Conv и Batchnormalization
- 1Как определить функцию, которая принимает класс, который реализует интерфейс в потоке?
- 1jaxb — отношения многие ко многим
- 0Получить изображение SRC в рамках директивы
- 1Matplotlib: полярная проекция transData.transform дает неправильные значения
- 0создание наложенных сообщений на Tumblr
- 1Импорт pcap на малину
- 0Использование C ++ strstr для поиска строки ac, а затем подсчета
- 1Подсчитать частичное совпадение в каждом столбце DataFrame в Pandas
- 0Зачем нужен $ timeout здесь?
- 1Задание Ant JUnit не запускает тесты Spring — бегун класса Spring не найден
- 1Geckodriver не может нажать на элемент | Python 3 Coding
- 0STL — добавление значений к вектору, хранящемуся в карте STL
- 0MySQL один ко многим получает не подходящую запись
- 0Невозможно создать / удалить файл / папку в Linux Fedora при получении вызова с php-сервера
- 0Javascript ссылка на изображения LIGHTBOX
- 0Определение объекта подкласса
- 1заставить браузер перезагрузить страницу (игнорировать кеш)
- 1Eclipse: добавить пакет в группу классов
- 1Правила безопасности Firestore request.query.orderBy не работает
- 1Разрешение службы ServiceStack и определение типа контента
- 1«Импорт […] конфликтует с типом, определенным в том же файле» ошибка [Java]
- 0Запустите JavaScript на Btn, но не контейнер
- 0счетчик переключателей
- 1Кодирование каждый раз производит разные хэши
- 1преобразовать sql-запрос в linq в метод сущностей
- 0порядок php по 2 параметрам
- 0Синтаксическая ошибка при использовании javascript при назначении
- 1C # — Backgroundworker и REST сервис
- 0Uncaught исключение «PDOException» с сообщением «не удалось найти драйвер» (для базы данных Oracle)
- 1Есть несколько хороших конструкторов, и Room выберет конструктор без аргументов. Как решить это предупреждение
- 0Скрытое целое число в шаблоне (1> = 5, 6> = 10, 11> = 15…)
- 0окно постоянно получает WM_WINDOWPOSCHANGING
- 1Сортировка вставок со строками
- 0Завершение соединения MySQL
- 0AngualrJS «X» не восстанавливает результаты после очистки текстового фильтра в IE
- 0Я получаю ОШИБКУ 1452 (23000) в MySQL
- 1Сеть d3 с несколькими ссылками в одном направлении
- 1Как правильно авторизовать Google Static Map API
- 0Проблемы с jQuery.ParseJSON
- 0Как отключить клики с помощью jQuery / JavaScript?
- 0Может ли контроллер модального окна работать в родительском контроллере?
- 1Как проанализировать вывод Json из API Visistat с помощью Json.net
- 1Как преобразовать многострочные файлы fasta в однострочные файлы fasta без биопиона
- 0Упорядочение двух таблиц по одной дате с PHP, MYSQL (PDO)
- 0Как перенаправить со службы на основной контроллер в angularjs?

