2012-06-12 2 views
2

.net 사이트는 페이지에서 .aspx 확장명을 포함한 전체 파일 이름을 지정하는 한 올바르게 실행됩니다. default.aspx를 지정하지 않고 기본 페이지를 실행하면 포스트 백이 실행되지 않습니다.asp.net 사이트가 기본 페이지에서 작동하지 않습니다.

http://www.site.com/ (다시 게시가 작동하지 않습니다)

http://www.site.com/default.aspx (포스트 백 작품)

http://www.site.com/directory이 (다시 게시가 작동하지 않습니다)

http://www.site.com/directory/default.aspx (포스트 백 작품)

나는이 없었습니다 문제가 무엇인지 이해하기 위해 고심하는 .net 웹 사이트에서 전에 문제. 가장 기본적인 사항을 확인했습니다. 즉, default.aspx가 기본 페이지인지 확인합니다. 제대로 작동하는 사이트에 대해 내 web.config 파일을 검사합니다.

이 동작이 왜 발생하는지 아직도 이해할 수 없습니다. 어떤 아이디어?

+0

양식을 보여주십시오. 'action' 속성을 설정 했습니까? – jrummell

+0

IIS 또는 Visual Studio 통합 웹 서버에서 사이트가 실행되고 있습니까? –

+4

비슷한 문제가 http://stackoverflow.com/questions/7228344/postback-doesnt-work-with-aspx-page-as-default-document에 설명되어 있습니다. 또한 몇 가지 솔루션 제안이 설명되어 있습니다. 그것을보십시오 :). –

답변

2

루카스, 그 답변을 공유해 주셔서 감사합니다.

실제로 default.aspx가 URL에 명시 적으로 제공되지 않은 경우 양식 작업 태그가 비어 있습니다. Global.asax에 다음 코드를 추가

문제를 해결했다 :

void Application_BeginRequest(object sender, EventArgs e) 
{ 
    var app = (HttpApplication)sender; 
    if (app.Context.Request.Url.LocalPath.EndsWith("/")) 
    { 
    app.Context.RewritePath(
      string.Concat(app.Context.Request.Url.LocalPath, "default.aspx")); 
    } 
} 
+0

당신이 만족스러운 해결책을 찾은 것을 기쁘게 생각합니다 :). –

관련 문제