Help with DetailsView
Im new to webforms.
Right now I have a DetailsView of a single client... what I want is that before the view is displayed, if the client doesnt have an email defined, redirect to a different page.. how can I get the data from the objectdatasource and redirect??
help please.
Here's my ObjectDataSource
<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="Strin开发者_Go百科g" />
<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>
You can check emails value while DetailsView is being binded to data by attaching DataBound event like this: in aspx page
<asp:DetailsView runat="server" ID="detailsView"
ondatabound="detailsView_DataBound"></asp:DetailsView>
and in code behind
protected void detailsView_DataBound(object sender, EventArgs e) { DetailsView view = (DetailsView)sender;
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();
}
}
Do this in your codebehind. Check for a null value in the email field, and redirect if found. Something like this (C#):
if(client.email==""){
HttpContext.Current.Response.ReDirect("differentPage.aspx");
}
精彩评论