我有以下HTML / ASP.NET代码:
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Ny test</title>
<link rel="stylesheet" type="text/css" href="StyleSheet.css" />
</head>
<body>
<form action="Default.aspx" runat="server" method="post">
Name: <input type="text" id="navn" runat="server"/>
<input type="submit" id="submit" value="Submit!" runat="server" />
<input type="reset" />
<br />
<%if (Request.Form["submit"] != null)
{
Response.Write("<br/>");
Response.Write("Submit button pushed");
}
if (Request.Form["navn"] != null && Request.Form["navn"] != "")
{
Response.Write("<br/>");
Response.Write("Name OK");
}
%>
</form>
</body>
</html>
使用“POST”表单post方法时,我得到以下输出:
推送提交按钮 名称确定
使用“GET”表单后,打印出方法 NOTHING ?!
答案 0 :(得分:4)
Request.Form
包含使用POST
发送的信息。使用GET
时,信息将显示在Request.QueryString
集合中。在您的情况下,这意味着Request.Form["submit"]
为null
。
如果您想同时支持两者,那么您可以使用包含以下值的Request.Item
集合:
Request.Cookies
Request.Form
Request.QueryString
Request.ServerVariables
但是,如果您使用其他一个集合中使用的参数名称,这样做可能会产生一些意外结果。
答案 1 :(得分:1)
要使用您的代码处理POST
和GET
,您只需删除.Form
,即将Request.Form["navn"]
替换为Request["navn"]
。