当IIS配置为集成Windows身份验证时,我的asp.net表单处理程序只接收表单方法发布数据。当我将其切换到匿名身份验证时,request.form集合为空。我希望IIS配置为匿名身份验证。可能是什么导致了这个?我在下面提供了我的代码:
这是我的表单页面HTML(它背后没有代码):
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Testing.aspx.vb" Inherits="Testing" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
</head>
<body>
<form name="frm" method="post" action="TestResults.aspx">
<input type="text" name="mydata" value="" size="25" maxlength="255" />
<input type="submit" name="submit" value="Submit" />
</form>
</body>
</html>
这是我的表单处理程序HTML代码,后面的代码列出了所有表单变量:
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="TestResults.aspx.vb" Inherits="TestResults" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<div id="resultsid" runat="server">
</div>
</body>
</html>
Partial Class TestResults
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim aString As String = ""
For Each item As String In Request.Form
aString &= item & " = " & Request.Form(item) & "<br />"
Next
Me.resultsid.InnerHtml = "<b>The Data:</b><br />" & aString
End Sub
End Class
答案 0 :(得分:0)
您的表单标记缺少runat = server。
编辑:仔细看看你想要做什么,你正试图做一个跨页回发。这种类型的回发在asp.net中比在旧的asp中更多。本文可能会有所帮助: