2009-07-14 5 views
1

ASP.NET MVC 앱에 간단한 로그인 페이지를 추가하려고합니다. 실제로 Sharp Arch 템플릿 프로젝트를 사용합니다. 그래서, Login(), Logout(), DoLogin() 메소드를 UsersController에 추가했습니다. Login()은 View ("Login") 만 리턴합니다. I가 탐색 할 때 이제ASP.NET MVC : 제출하면 같은 페이지가 렌더링됩니다.

/사용자는/로그인, 내 영문은 제출 버튼으로 표시됩니다 내가 제출을 클릭하면

<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" AutoEventWireup="true" Inherits="System.Web.Mvc.ViewPage" Title="Login" %> 
<%@ Import Namespace="Orders.Web.Controllers" %> 
<asp:Content ID="Content2" ContentPlaceHolderID="MainContentPlaceHolder" runat="server"> 
<h2>Login</h2> 
    <% if (ViewContext.TempData["message"] != null){ %> 
     <p><%= ViewContext.TempData["message"]%></p> 
    <% } %> 
    <% using (Html.BeginForm<UsersController>(u => u.DoLogin())) 
     { %> 
      <div><% =Html.SubmitButton("submit") %></div> 
    <% } %> 
</asp:Content> 

그러나, 요청() 로그인을 다시 한 번 만들어 - 내가 볼 수있는 그것은 내가 거기에 중단 점을 설정할 때, 결과 HTML 페이지 양식에도/Users/DoLogin 조치가 있더라도 UsersController.DoLogin()으로 이동하지 않습니다. 브라우저에서 수동으로/Users/DoLogin을 입력하면 호출되고 내 중단 점이 실행됩니다.

나는 이미 몇 시간 동안 내 머리를 두드리고있다 ... 나는 틀린 것을 여기에서 보지 않는다.

+1

생성 된 HTML을 게시 할 수 있습니까? 즉, 페이지를 렌더링하고 "소스보기" –

+0

대단히 감사합니다 .--) 그런 다음 소스를 조사했는데 게시하기 위해 미리 꾸미기 시작했을 때 이것을 발견했습니다 :

그리고 나서이 사실을 깨달았습니다. site.master : VS2008 편집기에서 .master를 열었을 때 메뉴 추가를 시도 할 때 ASP.NET 양식이 추가되어 MVC 형식을 감쌌다 그리고 방해가 됐어. 이 추가 양식을 제거하면 문제가 해결되었습니다. – queen3

답변

0

덕분에 jamesshannon 덕분에 site.master 페이지가 갑자기 모든 것을 ASP.NET 양식으로 싸웠 기 때문에 이것이 발견되었습니다. VS2008 편집기. 그런 행동이 아주 좋은지 확실하지 않지만 ... 이제는 알고 있습니다.

0

라우팅 문제 일 수 있습니다. 경로를 붙여 넣을 수 있습니까? this 경로 디버거

+0

OK 디버거,/사용자/로그인 및/사용자/DoLogin 적절한 컨트롤러/작업 모두 경로를 ... 실제로/Users/Login 및/Users/DoLogin 브라우저에서 URL로 입력 할 때 예상대로 작동합니다. 작동하지 않는 것으로 보이는 제출 버튼입니다 ... – queen3

관련 문제