C# 缺少Post参数
所以我在一个.NET网站上发布了一些参数。该网站需要身份验证,因此它会将用户重定向到登录页面。如果操作包含登录页面,则post参数将通过,但如果操作不包含登录页面,则post参数不会通过C# 缺少Post参数,c#,asp.net,post,C#,Asp.net,Post,所以我在一个.NET网站上发布了一些参数。该网站需要身份验证,因此它会将用户重定向到登录页面。如果操作包含登录页面,则post参数将通过,但如果操作不包含登录页面,则post参数不会通过 <form action="http://localhost:54060/mywebsite/" method="post"> BAC: <input type="text" name="partnerID" /> <br /> <input type=
<form action="http://localhost:54060/mywebsite/" method="post">
BAC: <input type="text" name="partnerID" /> <br />
<input type="submit" name="submitBtn" value="Login" />
<input type="hidden" name="partnerType" value="test" />
<input type="hidden" name="userID" value="test" />
<input type="hidden" name="firstname" value="test" />
<input type="hidden" name="lastname" value="test" />
</form>
BAC:
我正在会话启动全局asax页面事件中捕获post参数,并使用:this.Request.Params[“partnerID”]
提取它们。如果调用如上所述,则该值为空,但如果操作中包含登录页面,则该值包含参数
注意:表单位于1个网站中,正在提交到另一个网站。它们位于不同的服务器上。我无法控制提交表单(并将其提交到iframe)的网站。我可以控制接收表单提交的.NET网站
当表单提交到网站而不是提交到页面时,为什么这些参数没有通过。方法
会话\u Start
仅执行一次:会话启动时;)因此,下次访问同一页面(或任何页面)时,该方法将不会执行,因为您已经有了会话。当您从页面发回时,Session\u Start
将不会执行,因为它是在呈现页面时执行的,如果这是您的第一页
如果确实必须在Global.asax中处理提交的值,请使用
应用程序\u BeginRequest
。但是,我认为应该以其他方式完成,即让您的表单始终提交到一个特定页面,在该页面中处理已传递的值。此表单是什么?我没有看到提交按钮…你忘了问问题。好的,我删除了它,我错过了一些东西…表单正在从另一个网站提交。因此,这将是正确的位置,因为它将在请求从表单传入时执行。