2011-03-09 4 views
1

データ収集用の単純なASP.NET Webアプリケーションがあります(2つのテキストフィールドとTelerikエディタを持つWebフォーム、サーバー側のOnClickイベントリスナで送信するボタン) 。 イベントリスナーは、DBにデータを保存し、別のページにリダイレクトします。 開発Webサーバーでは、アプリケーションは正常に動作します。 IIS7で公開すると、イベントリスナーは起動しません。私はそれを動作させるために見つけた唯一の方法は、formタグのアクションを指定することです:フォームアクションが指定されていない限り、ボタンクリックハンドラは呼び出されません

<form id="form1" action="default.aspx" runat="server"> 

これは、これは私に何が起こるは初めてですが、私は他のアプリケーション(さらに複雑にして前にこの問題に遭遇することはありません!)。

誰もこの行動を以前に見ましたか?私以外の(スマートな)ソリューション?

ありがとうございました。

+0

実稼働環境にJavaScriptエラーがある場合は、Firebugや他のタイプの開発コンソールがありますか?これにより、フォームが転記されるのを防ぐことができます。 –

+0

こんにちはカイル!はい、私はjavascriptのエラーを確認したが、アプリケーションのすべてのjs部分(基本的にいくつかのjquery)は例外なく実行されます。 –

+0

は@pageヘッダーを投稿できますか? – shaans

答えて

0

generate htmlのソースをチェックすると、指定したかどうかにかかわらず、formタグのアクションが含まれます。では、action = "default.aspx"を明示的に指定しないと、結果として得られるhtmlのアクションを確認できます。

私はいくつかのURLの書き換えを実装した後、生成されたフォームアクションが間違っていたのです。私は

Page.Form.Action = ResolveUrl(string.Format("~/{0}", Path.GetFileName(Request.CurrentExecutionFilePath))); 

の背後にあるコードにアクションを設定する必要がありました。また、同じ動作がパイプラインを統合し、IIS7のクラシックモードの両方であることを確認することができます。

関連する問題