我是一名开始学习Fiddler2追逐我的ASP.NET webforms应用程序的一些问题的菜鸟。当我查看特定请求时,我只能通过Raw选项卡查看Request.Forms集合中的数据。我希望看到通过WebForms选项卡显示的名称:值对,但我收到消息:“请求正文类型不是x-www-form-urlencoded”。Fiddler2督察无法显示请求的WebForms视图,尽管内容类型:multipart/form-data
研究了这一点,我发现这个声明:“当HTTP请求内容类型值是”application/x-www-form-urlencoded“或”multipart/form-data“时,填充Form属性。在http://msdn.microsoft.com/en-us/library/system.web.httprequest.form.aspx
这里是从原始视图中的请求头的“顶部”。
POST http://mdwdata/sdkTrimFileServiceASMXclient/launcher.aspx HTTP/1.1
Accept: image/gif, image/jpeg, image/pjpeg, image/pjpeg, application/x-ms-application, application/x-ms-xbap, application/vnd.ms-xpsdocument, application/xaml+xml, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*
Referer: http://mdwdata/sdkTrimFileServiceASMXclient/launcher.aspx
Accept-Language: en-us
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET4.0C; .NET4.0E; InfoPath.3)
Content-Type: multipart/form-data; boundary=---------------------------7db1fe37801ce
Accept-Encoding: gzip, deflate
Host: mdwdata
Content-Length: 2860
Connection: Keep-Alive
Pragma: no-cache
我的web表单应用程序是非常标准的下面是我的.ASPX窗体顶部的一个片段:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="launcher.aspx.cs" Inherits="WebClient.launcher" %>
<!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 id="Head1" runat="server">
<title></title>
</head>
<body>
<form name="form1" method="post" action="launcher.aspx" id="form1" enctype="multipart/form-data"> `
enctype必须是默认的,因为它没有出现在我的.aspx源代码中,但是上述值是从Fiddler中特定HTTP会话的Response - Syntax视图中复制的。
通过Intellisense快速查看关于<form
元素的显示无关键字,以提供x-www-form-urlencoded。这些是我的“宝贝步骤”,以便更多地了解Fiddler - 它是否应该识别Webform并在Inspector WebForm视图中显示它?
谢谢EricLaw。有没有办法在我的.aspx文件中修改FORM元素,以便将application/x-www-form-urlencoded而不是multipart/form-data泵出来? –