在我的应用程序中,我们有一个 aspx 页面frmwebform1
。GetmyData()
这个页面有一个调用助手类的静态方法HelperClass
但是代码的问题是当我们调用该方法时GetHelperData()
,在这个助手类中实例化frmwebform1
以获取它的方法FillGrid()
。问题是当它实例化我们frmwebform1
正在失去价值时。entityId
entityType
有什么方法可以在FillGrid()
不实例化frmwebform1
页面的情况下调用该方法。不幸的是,我不能将FillGrid()
方法设为静态,因为它会损害我们的数据。
感谢您提前提供帮助。
//frmwebform1.aspx.cs
public partial class frmwebform1 : System.Web.UI.Page
{
string entityId;
string entityType;
protected void Page_Load(object sender, EventArgs e)
{
if (Request.QueryString["entityId"] != null)
{
entityType = Request.QueryString["entityType"].ToString().ToUpper();
entityId = Request.QueryString["entityId"].ToString();
}
if (!IsPostBack)
{
grdMygrid.DataSource = FillGrid();
grdMygrid.DataBind();
}
}
public DataTable FillGrid()
{
string server = HttpContext.Current.Session["Server"].ToString();
string database = HttpContext.Current.Session["Database"].ToString();
string usrID =HttpContext.Current.Session["user_ID"].ToString();
Data tr = new getData(server, database, usrID);
DataTable dt = tr.getAllEntities(entityId);
return dt;
}
[WebMethod] //AJAX page method
public static List<class1> GetmyData()
{
HelperClass helper = new HelperClass();
return helper.GetHelperData();
}
}
//Second Class
public class HelperClass
{
public List<class1> GetHelperData()
{
frmwebform1 form1 = new frmwebform1();
DataTable dt = form1.FillGrid();
List<class1> list = new List<class1>();
class1 item;
foreach (DataRow dr in dt.Rows)
{
item = new TaxHistory();
item.txr_guid = dr["txr_guid"].ToString();
item.Amount = string.Format("{0}", dr["Amount"]);
item.Email = dr["EmailAddress"].ToString();
item.Date = dr["date"].ToString();
item.user = dr["user"].ToString();
list.Add(item);
}
return list;
}
}