2010-11-24 2 views
0

Im new to webforms.Помощь по детально View

Прямо сейчас у меня есть DetailsView одного клиента ... что я хочу, так это то, что до отображения представления, если у клиента нет заданного адреса электронной почты, перенаправление на другую страницу .. как я могу получить данные от objectdatasource и перенаправления?

помогите пожалуйста.

Вот мой 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="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> 

ответ

1

Вы можете проверить значение электронных писем, а DetailsView в настоящее время переплетены данным путем присоединения DataBound событие следующим образом: в ASPX странице

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

и в коде позади

protected void detailsView_DataBound (отправитель объекта, EventArgs e) { DetailsView view = (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(); 
} 

}

-1

ли это в вашем коде. Проверьте нулевое значение в поле электронной почты и переадресовывайте, если найдено. Что-то вроде этого (C#):

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

Im не используя Linq для SQL ... Details.aspx имеет контроль DetailsView, который преобразуется в ObjectDataSource таблицы клиентов на моей базе данных .. Я не думаю, что я могу просто сделать "client.email" – ignaciofuentes 2010-11-24 06:56:34

+0

Использовать событие OnSelected. См. Этот вопрос: http://stackoverflow.com/questions/389571/can-you-get-a-datatable-from-an-objectdatasource – ddrace 2010-11-24 07:31:12