2010-11-24 4 views
0

Ich bin neu bei Webforms.Hilfe mit DetailsView

Momentan habe ich eine DetailsView eines einzelnen Clients ... was ich will ist, dass bevor die Ansicht angezeigt wird, wenn der Client nicht eine E-Mail definiert hat, umleiten auf eine andere Seite .. Wie kann ich die Daten bekommen von der Objektdatenbank und Redirect ??

Hilfe bitte.

Hier ist meine Object

<asp:ObjectDataSource ID="ObjectDataSource1" runat="server" 
     InsertMethod="Insert" OldValuesParameterFormatString="original_{0}" 
     SelectMethod="GetDataByCodigo" 
     TypeName="PanamaBanks.DataSetTableAdapters.ClientesTableAdapter"> 
     <InsertParameters> 
      <asp:Parameter Name="Codigo" Type="String" /> 
      <asp:Parameter Name="CodigoBanco" Type="String" /> 
      <asp:Parameter Name="Nombre" Type="String" /> 
      <asp:Parameter Name="Apellido" Type="String" /> 
      <asp:Parameter Name="Negocio" Type="String" /> 
      <asp:Parameter Name="Email" Type="String" /> 
      <asp:Parameter Name="Telefono" Type="String" /> 
     </InsertParameters> 
     <SelectParameters> 
      <asp:FormParameter DefaultValue="0" FormField="codigo" Name="Codigo" 
       Type="String" /> 
     </SelectParameters> 
    </asp:ObjectDataSource> 

Antwort

1

Sie E-Mails Wert überprüfen kann, während Details durch Anbringen Databound-Ereignis wie diese Daten binded werden: in aspx Seite

<asp:DetailsView runat="server" ID="detailsView" 
      ondatabound="detailsView_DataBound"></asp:DetailsView> 

und in Code hinter

protected void detailsView_DataBound (Objekt-Absender, EventArgs e) { Details Ansicht = Absender = (DetailsView);

DataRowView drv = (DataRowView)view.DataItem; 
if (drv != null) 
{ 
    if (Convert.IsDBNull(drv["Email"])) 
     //redirect - email column has null value 
     Redirect(); 

    if (drv["Email"].ToString().Trim() == string.Empty) 
     //redirect - email column is empty 
     Redirect(); 
} 

}

+0

Dies sieht in der Nähe, was ich brauche, aber ich bekomme immer noch nicht, wie der Wert von die E-Mail-Spalte von nur .... bitte helfen Sie – ignaciofuentes

+0

, wenn Sie hier Ihren Objektdatasource-Code einfügen, dann kann ich helfen Sie bei der Suche E-Mail-Spalte – Waqas

+0

Ich habe die Frage bearbeitet, um es zu enthalten – ignaciofuentes

-1

Tun Sie dies in Ihrem Code-Behind. Suchen Sie nach einem Nullwert im E-Mail-Feld und leiten Sie die Weiterleitung um, falls sie gefunden wird. So etwas wie diese (C#):

if(client.email==""){ 
    HttpContext.Current.Response.ReDirect("differentPage.aspx"); 
} 
+0

Im nicht Linq to SQL verwenden ... das details.aspx eine Details Kontrolle hat, die zu einem Object eines Clients Tabelle auf meiner Datenbank abgebildet wird .. Ich glaube nicht, dass ich nur tun kann, "client.email" – ignaciofuentes

+0

Verwenden Sie das OnSelected-Ereignis. Siehe diese Frage: http://stackoverflow.com/questions/389571/can-you-get-a-datatable-from-an-objectdatasource – ddrace