Asp.net 检索输入类型=密码请求。表单[";strPassword";]提供空值
从HTML表单读取数据时,如果元素是输入类型=“Password”,是否有任何特殊注意事项?当ColdFusion页面用表单数据发布我的处理程序时,我得到的密码是null,而不是键入的值 以下是下面较大方框中的关键行: string password=context.Request.Form[“strPassword”]强> 我有一个HTTPHandler.ashx代码文件,在发布时执行文件上传。以下是此代码的关键片段:Asp.net 检索输入类型=密码请求。表单[";strPassword";]提供空值,asp.net,html,forms,coldfusion,request.form,Asp.net,Html,Forms,Coldfusion,Request.form,从HTML表单读取数据时,如果元素是输入类型=“Password”,是否有任何特殊注意事项?当ColdFusion页面用表单数据发布我的处理程序时,我得到的密码是null,而不是键入的值 以下是下面较大方框中的关键行: string password=context.Request.Form[“strPassword”] 我有一个HTTPHandler.ashx代码文件,在发布时执行文件上传。以下是此代码的关键片段: string username = context.Reque
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);
}
发布上述代码的表单(来自ColdFusion)如下所示:
<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" />
如果我在调试器中检查整个表单集合,我会看到正确的值(用&)排列,并且没有一个重要的数据元素为null(但奇怪的是,数据在等号前面包含加号)以下是immed窗口中的一个片段:
&strUsername=johna&strPassword+=xxxxxxxx&strDomain+=cbmiweb}
我有一个ASP.NET客户端,它可以发布到同一个HTTPHandler,并且运行良好。此处,相同的表格数据显示,没有干扰加号:
&strUsername=johna&strPassword=xxxxxxxx&strDomain=cbmiweb}
关于是什么导致了这种情况,以及当表单数据使用中间加号格式化时如何检索表单数据,有什么想法吗
编辑:
ASP.NET表单和ColdFusion表单都指定enctype=“multipart/form data”,但后者嵌入了这些加号 加号是问题所在,它本不应该存在,您的coldfusion是将请求转发到您的页面,还是使用其内部http请求引擎来转发请求
加号因空格而出现,请检查coldfusion中是否有字符串连接导致在发布的数据中插入空格?为了澄清,使用的URL编码方案将URL中的空格字符替换为“+”:是的,您是正确的,这就是我要求提供coldfusion code的原因。你可以发布你的coldfusion代码吗?我会要求提供的……但我的coldfusion同事根据你的确认建议修复了问题,即响应中存在+是导致问题的原因。
?context.Request.Form["strPassword"]
null