0

MSDN からコピーした asp.net フォーム アップロード ボックスがあります。フォームが送信された後、ページに情報を表示する代わりに、同じフォームとアップロード ボックスで、ファイル名と非表示のフォーム フィールドであった番号の 2 つのクエリ パラメータでページをリダイレクトします。フォームが送信された後にその番号を取得してリダイレクト コードに追加するにはどうすればよいですか。私のフォームフィールド名は「id」です

<script runat="server">
Protected Sub Button1_Click(ByVal sender As Object, _
  ByVal e As System.EventArgs)

    If FileUpload1.HasFile Then
        Try
            FileUpload1.SaveAs("C:\inetpub\sites\rebbetzin\uploads\" & _
               FileUpload1.FileName)
            Label1.Text = "File name: " & _
               FileUpload1.PostedFile.FileName & "<br>" & _
               "File Size: " & _
               FileUpload1.PostedFile.ContentLength & " kb<br>" & _
               "Content type: " & _
               FileUpload1.PostedFile.ContentType

                Response.Redirect("http://www.rebbetzins.org/thanks.asp?id=" &  ______ & "&f=" & FileUpload1.PostedFile.FileName )
        Catch ex As Exception
            Label1.Text = "ERROR: " & ex.Message.ToString()
        End Try
    Else
        Label1.Text = "You have not specified a file."
    End If
End Sub

4

2 に答える 2

0

値は、次のRequest.Formようにコレクションに格納されます。

Request.Form("id")

したがって、Response.Redirectコードは次のようになります。

Response.Redirect("http://www.rebbetzins.org/thanks.aspx?id=" & Request.Form("id") & "&f=" & FileUpload1.PostedFile.FileName )

注:thanksページは拡張機能で.aspxはなく.asp拡張機能ですよね? 私はそれを.aspx私の答えに変更しました。

アップデート:

非表示の値を保持している ASP.NET サーバー コントロールがあるため、代わりに次のようにすることができます。

Me.id2.Value

したがって、次のResponse.Redirectようになります。

Response.Redirect("http://www.rebbetzins.org/thanks.aspx?id=" & Me.id2.Value & "&f=" & FileUpload1.PostedFile.FileName )

更新 2:

ページに ASP.NET HiddenField コントロールを設定するには、次のように、イベントthanks.aspxのクエリ文字列から読み取る必要があります。Page_Load

Protected Sub Page_Load(sender As Object, e As EventArgs)
    If Request.QueryString("id") IsNot Nothing Then
        Me.id2.Value = Request.QueryString("id")
    End If
End Sub
于 2013-08-19T17:29:29.973 に答える
0

request.form("id") には、その非表示のフォーム フィールドに値が含まれている必要があります。

于 2013-08-19T17:24:22.497 に答える