2011-01-24 27 views
0

使用传统的ASP,我想在提交表单之前执行一些代码,下面是我的代码。 我正在尝试将登录凭据存储到Cookie中,然后将表单发布到其他页面。如何在使用传统ASP发布表单之前执行一些代码

请注意,我发布到一个独立域中的ASP.NET页面。

另一个例子,只是为了使这个更清楚。假设我想在发布之前验证字段而不使用JavaScript。

<% 
dim uname 
uname= Request.Cookies("username") 
%> 

<FORM action="httppost_login.aspx" METHOD ="post" > 
<br />Username: <INPUT NAME ="username" SIZE ="30" maxlength="15" value="<% if uname <>"" then response.write(uname) %>" /> 
<br />Password: <INPUT NAME ="password" SIZE ="30" type=password maxlength="20" /> 
<br /> 
<INPUT TYPE ="SUBMIT" value="Login" name="btnSubmit" /> 
<input type="checkbox" name="remember" value="Remember my username" <%if uname <> "" then Response.Write("checked")%> />Remember my username 
</FORM> 

<% 

If Request.Form("btnSubmit") <> "" Then 
uname=Request.Form("username") 
dim rememberme 
rememberme = request.form("remember") 
if rememberme <> "" and uname <> "" then 
Response.Cookies("username") = uname 
Response.Cookies("username").Expires = Date() + 30 
end if 
end if 
%> 

回答

1

按下提交按钮后,您不能运行代码easilly

这归结为设计。你的表格操作是:

httppost_login.aspx 

实现你想要什么的“标准”的方法是通过该页面用来处理饼干/别的上的代码。

我通常给表单动作查询字符串:

<FORM action="httppost_login.aspx?action=login" METHOD ="post" > 

然后在该网页上,有:

Dim strPageAction 

strPageAction = request.querystring("action") 

if(strPageAction = "login" then 
    'Put your cookie code here, request.form("username") etc will still work! 
end if 
+0

是的,我知道,但我实际上发布到一个单独的域中的ASP.NET页面,所以我将无法共享cookie! – 2011-01-24 10:22:12

0

是,重定向页面可以张贴到使用XMLHTTP

第三方网页
相关问题