【发布时间】:2010-07-30 14:43:27
【问题描述】:
根据以下信息:
Which values browser collects as a postback data?
HTML 输入按钮的值在回传中发送。我正在使用 IE 在 ASP.NET 中进行测试,但我发现情况并非如此。
我的测试用例的标记是:
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Test.aspx.vb" Inherits="Test" %>
<!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>test postback</title>
<script type="text/javascript">
function doTest() {
var button = document.getElementById("btnTest");
button.value = "new-value";
alert("button contents = " + button.value);
return true;
}
</script>
</head>
<body>
<form id="myForm" runat="server">
<div>
<asp:Panel ID="pnlTest" runat="server"
DefaultButton="btnTest">
Textbox:
<asp:TextBox ID="txtTest" runat="server" />
<asp:Button ID="btnTest" runat="server"
Text="change" OnClientClick="doTest()" />
</asp:Panel>
</div>
</form>
后面的代码是:
Partial Class Test
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
txtTest.Text = btnTest.Text
End Sub
End Class
我的结果是当浏览器加载页面时输入按钮的值总是“改变”,但我期望它在回发后是“新值”。 Javascript doTest() 函数正在更改单击按钮时的值。
我还应该为 ASP.NET 或 IE 做些什么来获得回传的输入按钮值吗?或者是关于这个功能的信息 错了吗?
【问题讨论】: