这是我的代码:
<form id="form1" runat="server">
<asp:GridView ID="gridv" AutoGenerateColumns="true" EnableViewState="true" runat="server" >
<Columns>
<asp:HyperLinkField runat="server" HeaderText="GetStudentInfo" SortExpression="GetStudentInfo" DataTextField="StudentName" NavigateUrl="StudentManagement2.aspx" />
</Columns>
</asp:GridView>
<asp:Button runat="server" Text="Click" OnClick="ClickPostback" />
</form>
protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack) return;
gridv.DataSource = GetStudent();
gridv.DataBind();
}
当我点击GridView上的超链接时 - 回发始终为假:
然而,当我点击Button Postback变量为True:
答案 0 :(得分:2)
当表单被提交回服务器时,会发生回发。
超链接用于导航,而不是表单提交。因此,默认情况下,他们将用户重定向到新页面,并且不会将任何信息发回服务器,这就是回帖显示为false的原因。
在您的示例中,超链接具有NavigateUrl属性,您可以在该属性中告诉应用程序“转到此页面”。它不会向服务器发送任何信息进行处理。
然而,按钮设计用于将信息发布回服务器,这就是它显示为真的原因。