浏览器收集哪些值作为回发数据?

当要将页面发回服务器时,浏览器会收集每个控件的当前值并将其粘贴到一个字符串中。 然后,此回发数据将通过HTTP POST发送回服务器。

Q1 – 除了控件的Text属性和SelectedIndexchanged(因此除了用户输入数据),控件的其他属性/值是否被浏览器保存为回发数据?

Q2 – 对于GridView,哪些值是由浏览器在回发中保存的? 只有那些用户选择编辑的行?

字节

textareaselectinputbutton字段的值将在post中返回。 每个值都是一个键值对,其中键是元素的name属性。

我认为我已经获得了post中包含数据的所有元素:

  • textarea :包括value ,即在textarea中键入的内容。

  • select :包含所选选项的value属性。 如果所选选项未指定value属性,则使用该选项的文本。

  • input type="text" :包含value属性,即输入字段中输入的内容。

  • input type="password" :包含value属性,即输入字段中输入的内容。

  • input type="submit" :如果该按钮用于发送表单,则包含value属性,即按钮的文本。

  • input type="image" :如果使用该按钮发送表单,则会在post中发送图像中鼠标点击的坐标。 通过将“.x”和“.y”添加到元素的名称来创建x和y坐标的名称。

  • input type="checkbox" :如果选中该复选框,则包含value属性。 如果元素没有指定value属性,则使用值“on”。

  • input type="radio"value属性包含在每个组的选定项目中。 (组是所有具有相同名称的单选按钮。)

  • input type="file" :包含所选文件的内容以及原始文件路径(或仅包含文件名,具体取决于浏览器和安全设置)。

  • input type="hidden" :包含value属性。

  • button :如果该按钮用于发送表单,则包含innerText属性,即删除了任何html标记的按钮文本。

TextBox控件呈现为input type="text"input type="password"textarea ,具体取决于TextMode属性。 DropDownList控件呈现为select元素。 Button控件呈现为input type="submit"CheckBox控件呈现为input type="checkbox" 。 等等……检查渲染的html代码,看看实际呈现的html元素是什么。

如果GridView包含任何可编辑的表单字段,或者如果它导致回发(例如,通过在列表中导航),则GridView仅包含post中的任何数据。 在进行回发时,有一些信息存储在一对隐藏字段中,因此任何导致回发但不自行发送任何表单数据的控件(例如LinkBut​​ton)都包含有关导致回发的信息。

控件还可以将数据放入ViewState中,ViewState保存在表单中的隐藏字段中。 这也包含在post中,但它只是发送到浏览器并再次返回而不被浏览器更改。

我不是asp程序员,所以我不能给出确切的答案,但我建议你使用firefox与插件Live Http Headers和Firebug(控制台部分)。

通过此设置,您将能够看到浏览器向您的服务器发送的确切数据。

您可能也想使用ViewState解码器。 您可以在浏览器扩展中获取它们,并在网络上使用它们。 Scott Gu在此推荐一个: http : //weblogs.asp.net/scottgu/archive/2003/02/16/2495.aspx 。 ViewState应该告诉您需要知道的持久服务器属性。