J'ai une application MVC2 ASP.Net 4 qui a une page de connexion qui utilise la mise en page de la page maître de l'application. Le « défaut » page de connexion est typique:Html.BeginForm - Référence d'objet non définie sur une instance d'un objet
using (Html.BeginForm("LogIn", "Home", FormMethod.Post, new { id = "LogIn" }))
{ ....form stuff...}
Maintenant, je dois montrer un journal à la page avec une mise en page totalement différent mais je veux qu'il fasse comme « défaut » la même chose (s) connecter c'est-à-dire appeler la même action du contrôleur et utiliser le même modèle Web.
Ils veulent que les utilisateurs d'accéder à www.mydomain.com/alternateLogOn.aspx
Je fais dans mon global.asax:
protected void Application_BeginRequest(object sender, EventArgs arg)
{ if (Request.Url.PathAndQuery.ToLower() == "/AlternateLogOn.aspx")
{ Context.RewritePath("/Views/Home/AlternateLogOn.aspx");
}
}
Cela me récupère la page que je veux pour montrer w/o la mise en page principale (non compris MasterPageFile =):
<%@ Page Language="C#" AutoEventWireup="true" Inherits="System.Web.Mvc.ViewPage<MySite.Web.Models.AccountLogIn>" %>
la page affiche bien w/o l'utilisation de (Html.BeginForm), mais quand je l'utilise-je obtenir l'objet exception de référence.
est ici la trace de la pile:
Stack Trace:
[NullReferenceException: Object reference not set to an instance of an object.]
System.Web.Mvc.Html.FormExtensions.BeginForm(HtmlHelper htmlHelper, String actionName, String controllerName, RouteValueDictionary routeValues, FormMethod method, IDictionary`2 htmlAttributes) +42
System.Web.Mvc.Html.FormExtensions.BeginForm(HtmlHelper htmlHelper, String actionName, String controllerName, FormMethod method, Object htmlAttributes) +214
ASP.views_home_alternatelogon_aspx.__Render__control1(HtmlTextWriter __w, Control parameterContainer) in d:\Visual Studio 2010\MySite\MySite.Web\Views\Home\AlternateLogon.aspx:32
System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +130
System.Web.Mvc.ViewPage.Render(HtmlTextWriter writer) +84
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +5273
J'ai essayé d'ajouter <%@ Import namespace="System.Web.Mvc.Html" %>
mais il ne permet pas
Merci ...
Je suis un peu confus - si c'est une application MVC, pourquoi avoir des extensions .aspx de l'URL? –