缺少后期参数

时间:2013-04-23 20:19:19

标签: c# asp.net post

所以我将一些参数发布到.NET网站。该网站需要身份验证,因此会将用户重定向到登录页面。如果操作包含登录页面,则post参数会通过,但如果操作不包含登录页面,则post参数不会通过。

<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>

我正在捕获Session_Start Global asax页面事件中的post参数,并使用:this.Request.Params["partnerID"]拉取它们。如果调用如上所述,则为空,但如果操作中包含登录页面,则包含参数。

注意:表单位于1个网站中,正在提交到其他网站。它们位于不同的服务器上。我无法控制提交表单的网站(并将其提交给iframe)。我确实可以控制接收表单提交的.NET网站。

为什么在将表单提交到网站而不是提交到网页时,这些参数不会通过。

1 个答案:

答案 0 :(得分:1)

方法Session_Start只执行一次:会话开始时;)因此,下次访问同一页面(或任何页面)时,该方法将不会执行,因为您已经拥有会话。当您从页面回发时Session_Start将无法执行,因为它在呈现页面时执行,如果这是您的第一页。

如果您确实必须处理Global.asax中提交的值,请使用Application_BeginRequest。但是,我认为它应该以其他方式完成,即让您的表单始终提交到您处理被占用的值的特定页面。

相关问题