IsPostback在gridview asp中不起作用:HyperLinkField

时间:2016-08-07 16:42:59

标签: c# asp.net .net gridview

这是我的代码:

<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上的超链接时 - 回发始终为假

enter image description here

然而,当我点击Button Postback变量为True:

enter image description here

1 个答案:

答案 0 :(得分:2)

当表单被提交回服务器时,会发生回发。

超链接用于导航,而不是表单提交。因此,默认情况下,他们将用户重定向到新页面,并且不会将任何信息发回服务器,这就是回帖显示为false的原因。

在您的示例中,超链接具有NavigateUrl属性,您可以在该属性中告诉应用程序“转到此页面”。它不会向服务器发送任何信息进行处理。

然而,按钮设计用于将信息发布回服务器,这就是它显示为真的原因。