У меня есть страница сведений, на которой отображаются данные о событии. < /p>
Внизу этой страницы есть кнопка регистрации.@using (Html.BeginForm("Register", "Events", new { eventId = Model.Id }, FormMethod.Post, null))
{
@Html.AntiForgeryToken()
@*Register*@
}
< /code>
Вот мой метод контроллера: < /p>
[HttpPost]
[Authorize]
[ValidateAntiForgeryToken]
public ActionResult Register(int eventId)
{
if (eventId == 0)
return View("Index");
var now = DateTime.Now;
var userId = User.Identity.GetUserId();
var registration = this.repo.GetRegistration(eventId, userId);
if (registration != null)
{
ViewBag.Registered = true;
}
else
{
var successful = this.repo.RegisterEvent(eventId, userId);
if (successful)
{
return View();
}
else
{
return View();
}
}
return View();
}
А вот ссылка после нажатия кнопки «Регистрация»
http: // localhost/lrc/evestination/eventid = 7
и вот Routeconfig.cs p> p> p> p> p> p> p> p> p> p> p> p> p> p> pryquote> и здесь routeconfig.cs
и вот routeconfig.cs и здесь.public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
//routes.MapRoute(
// name: "Home",
// url: "Home/{action}/{id}",
// defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
//);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
< /code>
Я прочитал множество постов на SO SO, но ни один из них не решает мою проблему. 1
Я добавил еще 1 маршрут в routeconfig.cs до маршрута по умолчанию:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
//routes.MapRoute(
// name: "Home",
// url: "Home/{action}/{id}",
// defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
//);url: "Event/Register/{eventId}"
routes.MapRoute(
name: "myRoute",
url: "Events/Register/{eventId}",
defaults: new { controller = "Events", action = "Register", eventId = UrlParameter.Optional }
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
< /code>
А потом я наконец -то получил что -то другое, но это все еще ошибка: < /p>
Ошибка сервера в ' /lrc' Application. < /p>
the current Type,
microsoft.aspnet.identy.iuserstore`1rc.models.applicate. быть построено. У вас не хватает типа
отображение? Пожалуйста, просмотрите трассировку стека для получения дополнительной информации об ошибке и о том, где он возник в коде. Вам не хватает отображения типа
? Информация о происхождении и местоположении
Исключение можно определить с использованием трассировки стека исключений ниже. < /P>
Tack Trace: < /p>
[InvalidoperationException: текущий тип,
microsoft.aspnet.identity.iuserstor1[lrc.Models.ApplicationUser], is an interface and cannot be constructed. Are you missing a type mapping?] Microsoft.Practices.ObjectBuilder2.DynamicMethodConstructorStrategy.ThrowForAttemptingToConstructInterface(IBuilderContext context) +192 lambda_method(Closure , IBuilderContext ) +40 Microsoft.Practices.ObjectBuilder2.c__DisplayClass1.b__0(IBuilderContext context) +48 Microsoft.Practices.ObjectBuilder2.BuildPlanStrategy.PreBuildUp(IBuilderContext context) +323 Microsoft.Practices.ObjectBuilder2.StrategyChain.ExecuteBuildUp(IBuilderContext context) +349 Microsoft.Practices.ObjectBuilder2.BuilderContext.NewBuildUp(NamedTypeBuildKey newBuildKey) +254 lambda_method(Closure , IBuilderContext ) +200 Microsoft.Practices.ObjectBuilder2.c__DisplayClass1.b__0(IBuilderContext context) +48 Microsoft.Practices.ObjectBuilder2.BuildPlanStrategy.PreBuildUp(IBuilderContext context) +323 Microsoft.Practices.ObjectBuilder2.StrategyChain.ExecuteBuildUp(IBuilderContext context) +349 Microsoft.Practices.ObjectBuilder2.BuilderContext.NewBuildUp(NamedTypeBuildKey newBuildKey) +254 lambda_method(Closure , IBuilderContext ) +202 Microsoft.Practices.ObjectBuilder2.c__DisplayClass1.b__0(IBuilderContext context) +48 Microsoft.Practices.ObjectBuilder2.BuildPlanStrategy.PreBuildUp(IBuilderContext context) +323 Microsoft.Practices.ObjectBuilder2.StrategyChain.ExecuteBuildUp(IBuilderContext context) +349 Microsoft.Practices.Unity.UnityContainer.DoBuildUp(Type t, Object existing, String name, IEnumerable< /code> 1 Resolveroverrides) +442 < /p>
[ResolutionFailedException: разрешение не удалось, тип
= "lrc.controllers.accountcontroller", name = "(none)". Исключение произошло во время: при разрешении. Исключение:
InvalidoperationException - текущий тип,
microsoft.aspnet.identity.iuserstore`1rc.models.applicationuser],
интерфейс и не может быть построен. Вам не хватает типа
mapping?
----------------------------------------------- Во время исключения контейнер был: < /p>
Разрешение lrc.controllers.accountController, (нет) разрешение
параметр «Пользовательский менеджер». /> lrc.controllers.accountcontroller(lrc.applicationUserManager
UserManager, LRC.ApplicationsInmanager SignInManager)
Решение LRC.ApplicationUserManager, (none)
Resolling Paramater "Store of Countructor lerc.applicationUseRmanager (microsoft.AspertItistryT.AspertITITIORNITITIORITY.1[[lrc.Models.ApplicationUser, lrc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]] store) Resolving Microsoft.AspNet.Identity.IUserStore< /code> 1 [lrc.models.applicationuser], (none)
] microsoft.practices.unity.unitycontainer.dobuildup (тип t, объект
существует, название строки, ienumerable1 resolverOverrides) +550 Microsoft.Practices.Unity.UnityContainer.DoBuildUp(Type t, String name, IEnumerable< /code> 1 resolveroverrides) +20
system.web.mvc.defaultcontrollerActivator.create(RequestContext
requestContext, type controllertype) +78 < /p>
[InvalidoperationExcept 'lrc.controllers.accountController'. Убедитесь, что
контроллер имеет без параметра />System.Web.mvc.defaultControllerFactory.createController(RequestContext
requestContext, String ControlerName) +169
system.web.mvc.mvchandler.processrequestinit(httpcontextbasebasebr /htttpectretroler & icontroller & icontroller IcontrollerFactory & Factory)
+270 System.Web.mvc.mvchandler.beginProcessRequest (httpcontextbase httpcontext, asynccallback обратный вызов, состояние объекта) +147
System.Web.CallHandLerexeCutionStep.system.web.httpapplication.iexecutionstep.execute()
+12289179 System.web.httpapplication. Executestep (iexecutystep, STEPS, BOOLEAN & COLTEDSYNCHRONY) +28 < /POFT (BRESTSTEP, BREOLEAN & COMPETSYNCHRONY) +28 < /POFT (BRESTSTEP, BREOLEAN & COLTEDSYNCHRONY) +28 < /POFT. .Net Framework Версия: 4.0.30319;
ASP.net Версия: 4.0.30319.34248 < /p>
< /blockquote>
обновление 2 < /strong> < /p>
вот мой eventscontroller constructor < /p>
private ILRCRepository repo;
public EventsController(ILRCRepository repository)
{
this.repo = repository;
}
< /code>
Я искал Userstore на протяжении всего проекта и нашел его только в одном месте (внутри IdentityConfig.cs): < /p>
// Configure the application user manager used in this application. UserManager is defined in ASP.NET Identity and is used by the application.
public class ApplicationUserManager : UserManager
{
public ApplicationUserManager(IUserStore store)
: base(store)
{
}
Подробнее здесь: https://stackoverflow.com/questions/309 ... t-be-found
Нажатие кнопки в форме создает «ресурс не может быть найден» ⇐ C#
Место общения программистов C#
-
Anonymous
1750578825
Anonymous
У меня есть страница сведений, на которой отображаются данные о событии. < /p>
Внизу этой страницы есть кнопка регистрации.@using (Html.BeginForm("Register", "Events", new { eventId = Model.Id }, FormMethod.Post, null))
{
@Html.AntiForgeryToken()
@*Register*@
}
< /code>
Вот мой метод контроллера: < /p>
[HttpPost]
[Authorize]
[ValidateAntiForgeryToken]
public ActionResult Register(int eventId)
{
if (eventId == 0)
return View("Index");
var now = DateTime.Now;
var userId = User.Identity.GetUserId();
var registration = this.repo.GetRegistration(eventId, userId);
if (registration != null)
{
ViewBag.Registered = true;
}
else
{
var successful = this.repo.RegisterEvent(eventId, userId);
if (successful)
{
return View();
}
else
{
return View();
}
}
return View();
}
А вот ссылка после нажатия кнопки «Регистрация»
http: // localhost/lrc/evestination/eventid = 7
и вот Routeconfig.cs p> p> p> p> p> p> p> p> p> p> p> p> p> p> pryquote> и здесь routeconfig.cs
и вот routeconfig.cs и здесь.public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
//routes.MapRoute(
// name: "Home",
// url: "Home/{action}/{id}",
// defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
//);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
< /code>
Я прочитал множество постов на SO SO, но ни один из них не решает мою проблему. 1
Я добавил еще 1 маршрут в routeconfig.cs до маршрута по умолчанию:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
//routes.MapRoute(
// name: "Home",
// url: "Home/{action}/{id}",
// defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
//);url: "Event/Register/{eventId}"
routes.MapRoute(
name: "myRoute",
url: "Events/Register/{eventId}",
defaults: new { controller = "Events", action = "Register", eventId = UrlParameter.Optional }
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
< /code>
А потом я наконец -то получил что -то другое, но это все еще ошибка: < /p>
Ошибка сервера в ' /lrc' Application. < /p>
the current Type,
microsoft.aspnet.identy.iuserstore`1rc.models.applicate. быть построено. У вас не хватает типа
отображение? Пожалуйста, просмотрите трассировку стека для получения дополнительной информации об ошибке и о том, где он возник в коде. Вам не хватает отображения типа
? Информация о происхождении и местоположении
Исключение можно определить с использованием трассировки стека исключений ниже. < /P>
Tack Trace: < /p>
[InvalidoperationException: текущий тип,
microsoft.aspnet.identity.iuserstor1[lrc.Models.ApplicationUser], is an interface and cannot be constructed. Are you missing a type mapping?] Microsoft.Practices.ObjectBuilder2.DynamicMethodConstructorStrategy.ThrowForAttemptingToConstructInterface(IBuilderContext context) +192 lambda_method(Closure , IBuilderContext ) +40 Microsoft.Practices.ObjectBuilder2.c__DisplayClass1.b__0(IBuilderContext context) +48 Microsoft.Practices.ObjectBuilder2.BuildPlanStrategy.PreBuildUp(IBuilderContext context) +323 Microsoft.Practices.ObjectBuilder2.StrategyChain.ExecuteBuildUp(IBuilderContext context) +349 Microsoft.Practices.ObjectBuilder2.BuilderContext.NewBuildUp(NamedTypeBuildKey newBuildKey) +254 lambda_method(Closure , IBuilderContext ) +200 Microsoft.Practices.ObjectBuilder2.c__DisplayClass1.b__0(IBuilderContext context) +48 Microsoft.Practices.ObjectBuilder2.BuildPlanStrategy.PreBuildUp(IBuilderContext context) +323 Microsoft.Practices.ObjectBuilder2.StrategyChain.ExecuteBuildUp(IBuilderContext context) +349 Microsoft.Practices.ObjectBuilder2.BuilderContext.NewBuildUp(NamedTypeBuildKey newBuildKey) +254 lambda_method(Closure , IBuilderContext ) +202 Microsoft.Practices.ObjectBuilder2.c__DisplayClass1.b__0(IBuilderContext context) +48 Microsoft.Practices.ObjectBuilder2.BuildPlanStrategy.PreBuildUp(IBuilderContext context) +323 Microsoft.Practices.ObjectBuilder2.StrategyChain.ExecuteBuildUp(IBuilderContext context) +349 Microsoft.Practices.Unity.UnityContainer.DoBuildUp(Type t, Object existing, String name, IEnumerable< /code> 1 Resolveroverrides) +442 < /p>
[ResolutionFailedException: разрешение не удалось, тип
= "lrc.controllers.accountcontroller", name = "(none)". Исключение произошло во время: при разрешении. Исключение:
InvalidoperationException - текущий тип,
microsoft.aspnet.identity.iuserstore`1rc.models.applicationuser],
интерфейс и не может быть построен. Вам не хватает типа
mapping?
----------------------------------------------- Во время исключения контейнер был: < /p>
Разрешение lrc.controllers.accountController, (нет) разрешение
параметр «Пользовательский менеджер». /> lrc.controllers.accountcontroller(lrc.applicationUserManager
UserManager, LRC.ApplicationsInmanager SignInManager)
Решение LRC.ApplicationUserManager, (none)
Resolling Paramater "Store of Countructor lerc.applicationUseRmanager (microsoft.AspertItistryT.AspertITITIORNITITIORITY.1[[lrc.Models.ApplicationUser, lrc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]] store) Resolving Microsoft.AspNet.Identity.IUserStore< /code> 1 [lrc.models.applicationuser], (none)
] microsoft.practices.unity.unitycontainer.dobuildup (тип t, объект
существует, название строки, ienumerable1 resolverOverrides) +550 Microsoft.Practices.Unity.UnityContainer.DoBuildUp(Type t, String name, IEnumerable< /code> 1 resolveroverrides) +20
system.web.mvc.defaultcontrollerActivator.create(RequestContext
requestContext, type controllertype) +78 < /p>
[InvalidoperationExcept 'lrc.controllers.accountController'. Убедитесь, что
контроллер имеет без параметра />System.Web.mvc.defaultControllerFactory.createController(RequestContext
requestContext, String ControlerName) +169
system.web.mvc.mvchandler.processrequestinit(httpcontextbasebasebr /htttpectretroler & icontroller & icontroller IcontrollerFactory & Factory)
+270 System.Web.mvc.mvchandler.beginProcessRequest (httpcontextbase httpcontext, asynccallback обратный вызов, состояние объекта) +147
System.Web.CallHandLerexeCutionStep.system.web.httpapplication.iexecutionstep.execute()
+12289179 System.web.httpapplication. Executestep (iexecutystep, STEPS, BOOLEAN & COLTEDSYNCHRONY) +28 < /POFT (BRESTSTEP, BREOLEAN & COMPETSYNCHRONY) +28 < /POFT (BRESTSTEP, BREOLEAN & COLTEDSYNCHRONY) +28 < /POFT. .Net Framework Версия: 4.0.30319;
ASP.net Версия: 4.0.30319.34248 < /p>
< /blockquote>
обновление 2 < /strong> < /p>
вот мой eventscontroller constructor < /p>
private ILRCRepository repo;
public EventsController(ILRCRepository repository)
{
this.repo = repository;
}
< /code>
Я искал Userstore на протяжении всего проекта и нашел его только в одном месте (внутри IdentityConfig.cs): < /p>
// Configure the application user manager used in this application. UserManager is defined in ASP.NET Identity and is used by the application.
public class ApplicationUserManager : UserManager
{
public ApplicationUserManager(IUserStore store)
: base(store)
{
}
Подробнее здесь: [url]https://stackoverflow.com/questions/30992340/clicking-a-button-in-a-form-produces-the-resource-cannot-be-found[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия