要素が入力タイプ= "パスワード"であるHTMLフォームからデータを読み込もうとする際に特別な考慮事項はありますか? ColdFusionページがフォームデータでハンドラをPOSTするとき、型付き値ではなくパスワードとしてnullが返されます。ここ入力タイプの取得=パスワードRequest.Form ["strPassword"]はnullを返します
は以下大きなブロックから鍵ラインである:
文字列のパスワード= context.Request.Form [ "strPassword"]。
投稿時にファイルのアップロードを実行するHTTPHandler.ashxコードファイルがあります。ここでは、このコードの重要な抜粋です:上記のコードは、(ColdFusionのから)掲載された
string username = context.Request.Form["strUsername"];
if (String.IsNullOrEmpty(username))
{
IdentifyInvoker = GetUserInfo();
brokerService = new Broker.FileService();
}
else
{
string password = context.Request.Form["strPassword"];
string domain = context.Request.Form["strDomain"];
IdentifyInvoker = GetInvokerInfoFromForm(username, password, domain);
brokerService = new Broker.FileService(username,password,domain);
}
形式は次のようになります。
<b>User Name</b> <input type="text" name="strUsername" id="strUsername" size="13" />
<b>Password</b> <input type="Password" name="strPassword" id="strPassword" size="15" />
<b>Domain</b> <input type="text" name="strDomain" id="strDomain" size="13" value="cbmiweb" />
私はデバッガでトラップこれをすることができましたし、この後にそれを見てショックを受けました: 文字列パスワード= context.Request.Form ["strPassword"];案の定イミディエイトウィンドウで
...パスワード= nullを
、:
?context.Request.Form["strPassword"]
null
私はデバッガで全体Formコレクションを調べると、私は分離(適切な値がレイアウトされた参照&)、重要なデータ要素のいずれもNULL ではありません(しかし、不思議なことに、データには等号の前にプラス記号が含まれています)!ここでがIMMED窓からの抜粋です:
& strUsername = johna & strPassword + = XXXXXXXX & strDomain + = cbmiweb}
私はこの同じHTTPHandlerのへのPOSTというASP.NETクライアントを持っており、それが正常に動作します。ここでは、同じフォームデータが干渉PLUSの兆候なしで示しています
& strUsername = johna & strPassword = XXXXXXXX & strDomain = cbmiweb}
それがでフォーマットのフォームデータを取得するために、この方法と、の原因を上の任意のアイデアを介入するPLUSの兆候は?
EDIT: ASP.NETフォームとColdFusionフォームの両方でenctype = "multipart/form-data"が指定されていますが、後者はこれらのPLUS記号を埋め込みます。
あなたはcoldfusionコードを投稿できますか? –
私はそれを求めるつもりですが、ColdFusionの同僚は、Response.Formの+が存在することが原因で問題が発生していることを確認して、問題を解決しました。 –