HTMLでPOSTされた値をVB.NETで作成したWEBフォームで受け取りたいのですが、
VB.NET側のRequest.FormでNothingとなり値を受け取ることができません。
原因を調べているのですが、なかなか解決できず困っています。
どなたか分かられる方がいらっしゃいましたら、お力をお借り出来ると幸いです。
何卒よろしくお願いします。
1.環境
OS:Windows 2012 R2
IIS:IIS8.5
開発環境:Visual Studio Enterprise 2015
VB.NET
ブラウザ:IE11
2.使用ロジック
※本来はtest.htmlとDefault.aspxは別プロジェクトなのですが、
デバッグするために一旦同じプロジェクトにしています。
◆test.html◆ ⇒ このページで値をPOSTします。
<HTML> <head> <meta http-equiv="Content-Type" content="text/html; charset=s-jis" /> </head> <BODY> <FORM METHOD="post" ACTION="http://test_srv:99/test/Default.aspx"> <p>ユーザID:<input type="text" name="USERID" /></p> <p><input type="submit" value="実行" /></p> </FORM> </BODY> </HTML>
◆Default.aspx◆ ⇒ このページでtest.htmlからpostされた値を受け取ります。
<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="Default.aspx.vb" Inherits="test._Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <meta http-equiv="Content-Type" content="text/html; charset=s-jis"/> <title></title> </head> <body> <form id="form1" runat="server"> <div> </div> </form> </body> </html>
◆Default.aspx.vb◆
Public Class _Default Inherits System.Web.UI.Page Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load If Request.Form("USERID") IsNot Nothing Then ← ここでNothingになります。 Session("USERID") = Request.Form("G_EMPID").ToString End If Response.Redirect("next.aspx") End Sub End Class
3.確認したこと
(1)IEの開発者ツールの[ネットワーク]-[詳細]-[要求本文]にて、値がtest.htmlから値が送信されていることを確認しました。
「USERID=値」と表示されていました。
(2)test.htmlのFORMタグ内のMETHODをGETに変更した場合、Default.aspx.vbでRequest.QueryStringで値を取得できました。
(3)WindowsイベントログやIISログを確認したのですが、エラーコードは出力されていませんでした。
説明不足な部分や分かりずらい内容が合った場合は、
ご指摘頂けると幸いです。
よろしくお願い致します。
回答2件
あなたの回答
tips
プレビュー