2014年7月13日 星期日

[RESOLVED] Detailsview null value


I want to check the value in Date Shipped. If there isn't anything in it, it won't allow the user to move on to the next page. I created a Session to check, but it never has a null value. I'm not sure why.


protected void Page_Load(object sender, EventArgs e)
{
lblError.Visible = false;
ShippingError.Visible = false;
CanceledError.Visible = false;
dvAddress.Visible = false;
dvCustomer.Visible = false;

}
protected void btnPacking_Click(object sender, EventArgs e)
{
Session["OrderID"] = dvOrder.SelectedValue;

if (Session["OrderID"] != null)
{
if (Session["Shipped"] != null)
{
Response.Redirect("~/PackageManagement/Packing2.aspx");
}
else
{
ShippingError.Visible = true;
}
}

else
{
lblError.Visible = true;
}
}

protected void dvOrder_DataBound(object sender, EventArgs e)
{


if (dvOrder.SelectedValue != null)
{
Label AddressID = dvOrder.FindControl("lblAddressID") as Label;
Address.Text = AddressID.Text;
Session["Address1"] = AddressID.Text;

if (dvOrder.CurrentMode == DetailsViewMode.ReadOnly)
{
Label Shipped = dvOrder.FindControl("lblShipped") as Label;
Session["Shipped"] = Shipped.Text;


}
dvAddress.Visible = true;
dvAddress.DataBind();
}
else
{
dvAddress.Visible = false;
}

}

    











































































Maybe you need to check for empty string instead. Or use the string isnullorempty().



Try as:


protected void btnPacking_Click(object sender, EventArgs e)
{
Session["OrderID"] = dvOrder.SelectedValue;

if (!string.IsNullOrEmpty(Session["OrderID"] as string))
{
if (!string.IsNullOrEmpty(Session["Shipped"] as string))
{
Response.Redirect("~/PackageManagement/Packing2.aspx");
}
else
{
ShippingError.Visible = true;
}
}

else
{
lblError.Visible = true;
}
}

Make sure each time databound you have to clear session values, for eg assign String.Empty in Session variable




 



Thank you! That worked (although I switched it to being empty).


Here's the code:



protected void Page_Load(object sender, EventArgs e)
{
lblError.Visible = false;
ShippingError.Visible = false;
CanceledError.Visible = false;
dvAddress.Visible = false;
dvCustomer.Visible = false;

}
protected void btnPacking_Click(object sender, EventArgs e)
{
Session["OrderID"] = dvOrder.SelectedValue;

if (Session["OrderID"] != null)
{
if (string.IsNullOrEmpty(Session["Shipped"] as string))
{
ShippingError.Visible = false;
Response.Redirect("~/PackageManagement/Packing2.aspx");
}
else
{
ShippingError.Visible = true;
}
}

else
{
lblError.Visible = true;
}
}

protected void dvOrder_DataBound(object sender, EventArgs e)
{
Session["Address1"] = null;
Session["Shipped"] = null;

if (dvOrder.SelectedValue != null)
{
Label AddressID = dvOrder.FindControl("lblAddressID") as Label;
Address.Text = AddressID.Text;
Session["Address1"] = AddressID.Text;

if (dvOrder.CurrentMode == DetailsViewMode.ReadOnly)
{
Label Shipped = dvOrder.FindControl("lblShipped") as Label;

if (Shipped != null)
{
Session["Shipped"] = Shipped.Text;
}
}
dvAddress.Visible = true;
dvAddress.DataBind();
}
else
{
dvAddress.Visible = false;
}

}







沒有留言:

張貼留言