yes you can assign value to static variable from non static function. you can not assign session value in this manner, you have to create function for that like this... :)
public partial class ShipmentOverview : System.Web.UI.Page
{
public static string SessionData = string.Empty;
public void SetSession() {
SessionData = Session["id"].ToString();
}
}
In reverse you can not assign non static variable to static function directly.