El estado de inicio de sesión no funciona mientras quiero cerrar sesión... permanece cerrado [duplicado]

Posible duplicado:
El estado de inicio de sesión no funciona mientras quiero cerrar sesión y permanece cerrado

I am studding a tutorial on asp.net mvc which name is MvcMusicStore. I am creating MvcBookStore For login and logout i use the facility of ASP.net configuration. I am successful in login but unsuccessful in logout using loginstatus from toolbox. 

Aquí estoy dando algunos de mis códigos que están relacionados con el inicio y cierre de sesión:

En mi carpeta de controladores, he creado StoreManagerController.cs donde uso [Autorizar (Roles = "Administrador")] dentro del espacio de nombres MvcBookStore.Controllers. formato se da a continuación:

namespace MvcBookStore.Controllers
{
[Authorize(Roles = "Administrator")]
public class StoreManagerController : Controller
  {
       // code goes here...
  }  
} 

Ahora, en la carpeta del modelo, he creado el archivo AccountModel.cs y debajo doy los códigos que son necesarios:

namespace MvcBookStore.Models
{
    #region Services
public interface IFormsAuthenticationService
{
    void SignIn(string userName, bool createPersistentCookie);
    void SignOut();
}

public class FormsAuthenticationService : IFormsAuthenticationService
{
    public void SignIn(string userName, bool createPersistentCookie)
    {
        ValidationUtil.ValidateRequiredStringValue(userName, "userName");

        FormsAuthentication.SetAuthCookie(userName, createPersistentCookie);
    }

    public void SignOut()
    {
        FormsAuthentication.SignOut();
    }
}

El código anterior se agrega automáticamente cuando se crea un sitio web asp.net mvc. No he cambiado nada. Quiero usar las funciones de LoginStatus en Visual Studio 2010. Porque encuentra automáticamente la URL de cierre de sesión. Es por eso que lo agrego en mi View/StoreManager/Index.aspx en una posición. El código se da a continuación:

    <%@ Page Title="" Language="C#"  AutoEventWireup ="true" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<IEnumerable<MvcBookStore.Models.Album>>" %>
<script runat="server">
protected void LoginStatus1_LoggingOut(object sender, LoginCancelEventArgs e)
    {
       FormsAuthentication.SignOut();
       Response.Redirect("/View/Home/Index.aspx");    
    }
</script>
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
    Index
</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">

    <form id="form1" runat="server">

    <h2>Index&nbsp;
        <asp:LoginStatus ID="LoginStatus1" runat="server" 
            onloggingout="LoginStatus1_LoggingOut" 
            LogoutAction="Redirect" />
    </h2>

    <table>
        <tr>
            <th></th>
            <th>Title</th>
            <th>Artist</th>
            <th>Genre</th>
        </tr>

    <% foreach (var item in Model) { %>
        <tr>
            <td>
                <%: Html.ActionLink("Edit", "Edit", new { id=item.AlbumId }) %> |
                <%: Html.ActionLink("Delete", "Delete", new { id=item.AlbumId })%>
            </td>
            <td><%: Html.Truncate(item.Title, 25) %></td>
            <td><%: Html.Truncate(item.Artist.Name, 25) %></td>
            <td><%: item.Genre.Name %></td>
        </tr>

    <% } %>

    </table>

    <p>
        <%: Html.ActionLink("Create New", "Create") %>

    </p>
    <p>
          <a href="/es/Control/ordercontrol.aspx" > control order</a>

    </p>

    </form>

</asp:Content>

todo está bien, pero cuando hago clic en el enlace de cierre de sesión, no hace nada, solo se actualiza.

preguntado el 03 de mayo de 12 a las 18:05

Necesita aprender cómo funciona MVC. -

Por favor, no hagas la misma pregunta dos veces. stackoverflow.com/questions/10417080/… -

1 Respuestas

Está intentando mezclar controles de servidor ASP.Net WebForms con MVC.
No hagas eso; no funcionará

En su lugar, utilice las acciones y la lógica de MVC.

contestado el 03 de mayo de 12 a las 18:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.