我是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>
答案 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");
}