2016-08-07 33 views
1

Hier ist mein Code:IsPostBack nicht in gridview asp arbeiten: Hyperlink

<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(); 
} 

Wenn ich auf den Hyperlink auf Gridview klicken - Postback ist immer falsch:

enter image description here

jedoch, wenn Ich klicke die Schaltfläche Postback-Variable ist True:

enter image description here

Antwort

2

Ein Post-Back tritt auf, wenn ein Formular an den Server zurückgesendet wird.

Hyperlinks werden für die Navigation verwendet, nicht für die Übermittlung von Formularen. Standardmäßig leiten sie den Benutzer auf eine neue Seite um und geben keine Informationen an den Server zurück, weshalb der Postback als falsch angezeigt wird.

In Ihrem Beispiel hat der Hyperlink eine NavigateUrl-Eigenschaft, mit der Sie der Anwendung sagen, dass sie "auf diese Seite gehen" soll. Es werden keine Informationen zur Verarbeitung an den Server gesendet.

Schaltflächen jedoch, wo entwickelt, um Informationen zurück auf den Server zu senden, weshalb es wahr ist.

+0

Mit LinkButton löste das Problem, danke. –