Кто-нибудь видел эту проблему? Я новичок ASP.NET MVC. У меня есть сайт ASP.NET MVC 3, который использует представления .aspx и .ascx. На всем сайте я использую return View() или возвращает View (viewName) в своих методах контроллера, который направляет соответствующее представление aspx/ascx. Однако в моем складе AccountController (изменен для использования DotNetOpenAuth) я придерживаюсь того же подхода, но структура MVC не ищет представления aspx или ascx. Вместо этого он ищет путь для представлений .cshtml или .vbhtml(механизм Razor, который я предполагаю). Почему они не ищут взгляды aspx и ascx, как и остальные мои сайты? Ниже приведен метод контроллера:
public ActionResult Authenticate()
{
var response = openid.GetResponse();
var statusMessage = "";
if (response == null)
{
Identifier id;
//make sure your users openid_identifier is valid.
if (Identifier.TryParse(Request.Form["openid_identifier"], out id))
{
try
{
//request openid_identifier
return openid.CreateRequest(Request.Form["openid_identifier"])
.RedirectingResponse.AsActionResult();
}
catch (ProtocolException ex)
{
statusMessage = ex.Message;
return View("LogOn", statusMessage);
}
}
else
{
statusMessage = "Invalid identifier";
return View("LogOn", statusMessage);
}
}
else
{
//check the response status
switch (response.Status)
{
//success status
case AuthenticationStatus.Authenticated:
Session["FriendlyIdentifier"] = response.FriendlyIdentifierForDisplay;
FormsAuthentication.SetAuthCookie(response.ClaimedIdentifier, false);
//TODO: response.ClaimedIdentifier, to login or create new account
return RedirectToAction("Index", "Home");
case AuthenticationStatus.Canceled:
statusMessage = "Canceled at provider";
return View("LogOn", statusMessage);
case AuthenticationStatus.Failed:
statusMessage = response.Exception.Message;
return View("LogOn", statusMessage);
}
}
return View("LogOn");
}
Ниже представлена ошибка:
Вид "LogOn" или его мастер не был найденный или отсутствующий механизм просмотра поддерживает поиск местоположений. Следующие места были обысканы: ~/Просмотры/Учетная запись/Отменено на provider.master ~/Views/Shared/Canceled at provider.master ~/Views/счета/LogOn.cshtml ~/Views/счета/LogOn.vbhtml ~/Views/Shared/LogOn.cshtml ~/Views/Shared/LogOn.vbhtml ~/Просмотры/Учетная запись/Отменено на provider.cshtml ~/Просмотры/Учетная запись/Отменено на provider.vbhtml ~/Views/Shared/Canceled at provider.cshtml ~/Views/Shared/Canceled at provider.vbhtml
Описание: Необработанное исключение произошли во время выполнения текущий веб-запрос. Пожалуйста, просмотрите трассировки стека для получения дополнительной информации о ошибка и где она возникла в код.
Сведения об исключении: System.InvalidOperationException: view 'LogOn' или его мастер не был найденный или отсутствующий механизм просмотра поддерживает поиск местоположений. Следующие места были обысканы: ~/Просмотры/Учетная запись/Отменено на provider.master ~/Views/Shared/Canceled at provider.master ~/Views/счета/LogOn.cshtml ~/Views/счета/LogOn.vbhtml ~/Views/Shared/LogOn.cshtml ~/Views/Shared/LogOn.vbhtml ~/Просмотры/Учетная запись/Отменено на provider.cshtml ~/Просмотры/Учетная запись/Отменено на provider.vbhtml ~/Views/Shared/Canceled at provider.cshtml ~/Views/Shared/Canceled at provider.vbhtml
Ошибка источника:
Создано необработанное исключение во время выполнения текущего веб-запрос. Информация о происхождение и местоположение исключения могут быть идентифицированы с использованием исключения трассировка стека ниже.
Трассировка стека:
[InvalidOperationException: вид "LogOn" или его мастер не были найдены или механизм просмотра не поддерживает поиск местах. Следующие места были обысканы: ~/Просмотры/Учетная запись/Отменено на provider.master ~/Views/Shared/Canceled at provider.master ~/Views/счета/LogOn.cshtml ~/Views/счета/LogOn.vbhtml ~/Views/Shared/LogOn.cshtml ~/Views/Shared/LogOn.vbhtml ~/Просмотры/Учетная запись/Отменено на provider.cshtml ~/Просмотры/Учетная запись/Отменено на provider.vbhtml ~/Views/Shared/Canceled at provider.cshtml ~/Views/Shared/Canceled at provider.vbhtml]
System.Web.Mvc.ViewResult.FindView(ControllerContext контекст) +315050
System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext контекст) +129
System.Web.Mvc.ControllerActionInvoker.InvokeActionResult(ControllerContext controllerContext, ActionResult actionResult) +13
System.Web.Mvc <. > C_DisplayClass1c.b_19() +23 System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter фильтр, ResultExecutingContext preContext, Func1 continuation) +260 System.Web.Mvc.<>c__DisplayClass1e.<InvokeActionResultWithFilters>b__1b() +19 System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList
1 фильтр, ActionResult actionResult) +177
System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName) +343 System.Web.Mvc.Controller.ExecuteCore() +116 System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext) +97
System.Web.Mvc.ControllerBase.System.Web.Mvc.IController.Execute(RequestContext requestContext) +10
System.Web.Mvc <. > C_DisplayClassb.b_5() +37 System.Web.Mvc.Async. < > c_DisplayClass1.b_0() +21 System.Web.Mvc.Async. < > c_DisplayClass81.<BeginSynchronous>b__7(IAsyncResult _) +12 System.Web.Mvc.Async.WrappedAsyncResult
1.End() +62 System.Web.Mvc. < > c_DisplayClasse.b_d() +50 System.Web.Mvc.SecurityUtil.b_0 (Действие f) +7 System.Web.Mvc.SecurityUtil.ProcessInApplicationTrust(Action действие) +22
System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) +60
System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult результат) +9
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +8841105 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean & completedSynchronously) +184
Спасибо Shan