web-dev-qa-db-ja.com

HTMLフォームをIIS7サーバーに移行する簡単でプログラム的な方法はありますか?

ASPページと同様に、通常のHTMLページはIIS7サーバーで正常に機能します。ただし、HTMLフォームを追加しようとして、送信ボタンをクリックした後、エラーが表示されます。

パス '/FormServer/Mig/_vti_bin/shtml.dll/admissions/askseaaggie.htm'へのアクセスに使用されるHTTP動詞POSTは許可されていません。

現在、私が知っている唯一の解決策は、ASP.NETマークアップを使用してフォーム全体を再構築することです。

1
NickG

質問は少しわかりにくいですが、理解した上で答えてみます。

HTMLページはフォームデータを処理しません(GETフォームメソッドを使用している場合はクエリ文字列から値を抽出できます)。そのため、フォームの「アクション」属性を動的サーバーページでポイントする必要があります。 (あなたの言及から)これがASPであると仮定すると、次のようにアクション値を設定します。

<form method="post" action="myserverpage.asp">
<input name="firstname" type="text"/>
<input name="lastname" type="text"/>
</form>

次に、サーバー側のスクリプト(「myserverpage.asp」など)を使用して、POSTされたフォームの値にアクセスします。それらをどうするかはあなた次第ですが、古典的なASP(.Netではなく)の簡単な例は次のようになります:

<%
response.write(request.form("firstname"))
response.write(request.form("lastname"))
%>

これにより、2つの値がクライアントのブラウザに返されます。

したがって、要約すると、HTMLページのフォームは2つの値を「アクション」ページにPOST(送信)し、ASPはPOSTされた値を取得し、それらをクライアントに書き込むことで応答します。

これが機能しない場合は、IIS7にASPが正しくインストールされていないことを意味します(デフォルトではオフになっています)。ご使用のOSの次の手順に従ってください。

http://www.iis.net/learn/application-frameworks/running-classic-asp-applications-on-iis-7-and-iis-8/classic-asp-not-installed-by- default-on-iis

(基本的に、コントロールパネルで「ASP」を有効にする>機能のオン/オフを切り替える>ウィンドウ機能)

0
Astravagrant