2

ページに.aspx拡張子を含む完全なファイル名を指定する限り、正常に動作する.netサイトを設定しています。default.aspxを指定せずにデフォルトのページを実行しようとすると、ポストバックは発生しません。

例えば

http://www.site.com/ (ポストバックは機能しません)

http://www.site.com/default.aspx (ポストバックは機能します)

http://www.site.com/directory (ポストバックは機能しません)

http://www.site.com/directory/default.aspx (ポストバックは機能します)

.net Webサイトでこの問題が発生したことは一度もないので、問題が何であるかを理解するのに苦労しています。私は最も基本的なことをチェックしました。つまり、default.aspxがデフォルトのページであることを確認するなど、正しく機能しているサイトに対してweb.configファイルをチェックするなどです。

この動作が発生している理由はまだわかりません。何か案は?

4

2 に答える 2

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"));
    }
}
于 2012-06-12T16:55:42.497 に答える
1

1つのサイトでこの問題が発生し、アプリケーションプールの種類をクラシックに変更しました。これで問題が修正されました。

于 2020-08-25T15:24:04.313 に答える