2009-08-25 14 views
0

IISが統合Windows認証用に設定されている場合、asp.netフォームハンドラはフォームメソッドの投稿データのみを受信します。匿名認証に切り替えると、request.formコレクションは空になります。匿名認証用にIISを構成したいと思います。これを引き起こす原因は何ですか?私は以下の私のコードが含まれている:IISが匿名認証に設定されているときにRequest.Formが機能しない

をここに私のフォームページの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

あなたはバイオリンやFirebugのは、POSTデータは間違いなく要求で送信されていることを確認するために使用することはできますか?ブラウザではなくIISが壊れていることを確認するだけです。 – stevemegson

答えて

0

フォームタグにrunat = serverがありません。

編集:あなたがやろうとしていることをもう少し見て、クロスページポストバックをしようとしています。このタイプのポストバックは、古いaspよりもasp.netに少し関与しています。この記事は役に立つかもしれません:

http://www.c-sharpcorner.com/UploadFile/DipalChoksi/xpgpostbk_asp2_dc08102006235543PM/xpgpostbk_asp2_dc.aspx

+0

私はrunat = "server"をformタグに追加しました。それは問題を解決しませんでした。しかし、提案をありがとう。 –

+0

実際には、runat = "server"をフォームから外し、ポストバックメカニズム全体を無視し、Request.Formで直接ポークすることができます。必ずしも素晴らしいアイデアではなく、確かにあまり「.NET-y」ではありませんが、それでも動作するはずです。 – stevemegson

+0

私は、私のRequest.Formの内容に得ることができるかどうかを確認するために私のクロスページのポストバック戦略をちょうど捨てる傾向があります。 –

関連する問題