帮助DetailsView

时间:2010-11-24 06:41:56

标签: asp.net webforms

我是webforms的新手。

现在我有一个单一客户端的DetailsView ...我想要的是在显示视图之前,如果客户端没有定义电子邮件,重定向到另一个页面..我怎样才能从中获取数据objectdatasource和redirect ??

请帮忙。

这是我的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>

2 个答案:

答案 0 :(得分:1)

您可以通过附加DataBound事件将DetailsView绑定到数据时检查电子邮件值:在aspx页面中

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

并在代码中

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

}

答案 1 :(得分:-1)

在您的代码隐藏中执行此操作。检查电子邮件字段中的空值,如果找到则重定向。这样的事情(C#):

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