I figured as much. I'm always trying weird things, it seems. In this case, my Login view is also showing a partial for the Register view.
I am getting the exception on the partial invoke. Here is the rest of that stack trace.
[FubuException: FubuCore Error 2108:
More than one behavior chain matching criteria: Type: MyApp.Website.Features.Register.RegisterInputModel, CategoryOrHttpMethod: None, CategoryMode: Relaxed, TypeMode: InputModelOnly, MethodName:
Matches:
register -- IndexEndpoint.Get(RegisterInputModel request) : RegisterInputModel
register -- IndexEndpoint.Post(RegisterInputModel input) : AjaxContinuation]
FubuMVC.Core.Registration.Querying.<>c__DisplayClasse.<find>b__a() in c:\BuildAgent\work\6ff6894a9badaff7\src\FubuMVC.Core\Registration\Querying\ChainResolutionCache.cs:74
FubuMVC.Core.Registration.Querying.ChainResolutionCache.Find(ChainSearch search) in c:\BuildAgent\work\6ff6894a9badaff7\src\FubuMVC.Core\Registration\Querying\ChainResolutionCache.cs:81
FubuMVC.Core.Registration.Querying.ChainResolutionCache.FindUnique(Object model, String category) in c:\BuildAgent\work\6ff6894a9badaff7\src\FubuMVC.Core\Registration\Querying\ChainResolutionCache.cs:109
FubuMVC.Core.Registration.Querying.<>c__DisplayClass2.<For>b__1(IChainResolver r) in c:\BuildAgent\work\6ff6894a9badaff7\src\FubuMVC.Core\Registration\Querying\ChainInterrogator.cs:51
FubuMVC.Core.Registration.Querying.ChainInterrogator`1.findAnswerFromResolver(Object model, Func`2 finder) in c:\BuildAgent\work\6ff6894a9badaff7\src\FubuMVC.Core\Registration\Querying\ChainInterrogator.cs:25
FubuMVC.Core.Registration.Querying.ChainInterrogator`1.processForwarder(Object model, Func`1 forwarderSource, Func`2 finder) in c:\BuildAgent\work\6ff6894a9badaff7\src\FubuMVC.Core\Registration\Querying\ChainInterrogator.cs:32
FubuMVC.Core.Registration.Querying.ChainInterrogator`1.For(Object model, String categoryOrMethod) in c:\BuildAgent\work\6ff6894a9badaff7\src\FubuMVC.Core\Registration\Querying\ChainInterrogator.cs:48
FubuMVC.Core.Security.AuthorizationPreviewService.IsAuthorized(Object model) in c:\BuildAgent\work\6ff6894a9badaff7\src\FubuMVC.Core\Security\AuthorizationPreviewService.cs:61
FubuMVC.Core.UI.PartialInvoker.Invoke() in c:\BuildAgent\work\6ff6894a9badaff7\src\FubuMVC.Core\UI\PartialInvoker.cs:34
FubuMVC.Core.UI.PartialExpressionExtensions.InvokePartial(IFubuPage page, String prefix) in c:\BuildAgent\work\ea27ef6190757424\src\FubuMVC.Core.View\PartialExpressionExtensions.cs:33
FubuMVC.Core.UI.PartialExpressionExtensions.Partial(IFubuPage page) in c:\BuildAgent\work\ea27ef6190757424\src\FubuMVC.Core.View\PartialExpressionExtensions.cs:12
Viewc8e917497dc645c09af0102782d9119e.RenderViewLevel0() +1882
Spark.SparkViewBase.DelegateFirstRender(Action render) +9
Viewc8e917497dc645c09af0102782d9119e.Render() +156
FubuMVC.Spark.Rendering.FubuSparkViewDecorator.Render() in c:\BuildAgent\work\ea27ef6190757424\src\FubuMVC.Spark\Rendering\FubuSparkView.cs:135
FubuMVC.Core.View.ViewWriter`1.Write(String mimeType, T resource) in c:\BuildAgent\work\ea27ef6190757424\src\FubuMVC.Core.View\ViewWriter.cs:32
FubuMVC.Core.Resources.Conneg.Media`1.Write(String mimeType, T resource) in c:\BuildAgent\work\6ff6894a9badaff7\src\FubuMVC.Core\Resources\Conneg\Media.cs:40
FubuMVC.Core.Resources.Conneg.OutputBehavior`1.Write() in c:\BuildAgent\work\6ff6894a9badaff7\src\FubuMVC.Core\Resources\Conneg\OutputBehavior.cs:53
FubuMVC.Core.Resources.Conneg.OutputBehavior`1.afterInsideBehavior() in c:\BuildAgent\work\6ff6894a9badaff7\src\FubuMVC.Core\Resources\Conneg\OutputBehavior.cs:33
FubuMVC.Core.Behaviors.BasicBehavior.Invoke() in c:\BuildAgent\work\6ff6894a9badaff7\src\FubuMVC.Core\Behaviors\BasicBehavior.cs:31
FubuMVC.Core.Behaviors.WrappingBehavior.<Invoke>b__0() in c:\BuildAgent\work\6ff6894a9badaff7\src\FubuMVC.Core\Behaviors\WrappingBehavior.cs:13
FubuMVC.Diagnostics.Runtime.Tracing.BehaviorTracer.invoke(Action action) in c:\BuildAgent\work\48f78f17652f6d5c\src\FubuMVC.Diagnostics\Runtime\Tracing\BehaviorTracer.cs:26
I originally had the GET input as a separate class. Then, I decided to try PRG with the Register action, since the Login does a non Ajax POST. I was going to POST to the Register action, then redirect back to the Url from the query string. When I did that, I wasn't getting validation, so I switched to this pattern (same input class for GET and POST) to support the lo-fi scenario. That's when I saw this behavior.