Asp.net 如何从业务层访问内部方法
我想访问内部方法如何访问请帮助 业务层类Asp.net 如何从业务层访问内部方法,asp.net,Asp.net,我想访问内部方法如何访问请帮助 业务层类 internal DataTable SaveCustomerDetail() { SqlParameter[] parameters = new SqlParameter[7]; parameters[0] = DataAccesLayer.Addparameters("@CustomerName", CustomerName, SqlDbType.VarChar, 100); parameters[1] = DataAcces
internal DataTable SaveCustomerDetail() {
SqlParameter[] parameters = new SqlParameter[7];
parameters[0] = DataAccesLayer.Addparameters("@CustomerName", CustomerName, SqlDbType.VarChar, 100);
parameters[1] = DataAccesLayer.Addparameters("@CustomerEmailID", CustomerEmailIDl, SqlDbType.VarChar, 100);
parameters[2] = DataAccesLayer.Addparameters("@CustomerPhoneNumber",CustomerPhoneNumber, SqlDbType.VarChar, 100);
parameters[3] = DataAccesLayer.Addparameters("@CustomerAddress", CustomerAddress, SqlDbType.VarChar, 100);
parameters[4] = DataAccesLayer.Addparameters("@TotalProducts", totalproducats, SqlDbType.Int, 100);
parameters[5] = DataAccesLayer.Addparameters("@TotalPrice", totalprice, SqlDbType.Int, 100);
parameters[6] = DataAccesLayer.Addparameters("@PaymentMethod", PaymentMethod, SqlDbType.VarChar, 100);
DataTable dt = DataAccesLayer.ExecuteDTBbyprocedure("SP_SAVECUSTOMERDETAIL",parameters);
return dt;
}
这是我要访问内部方法的.cs:
protected void btnplaceorder_Click(object sender, EventArgs e)
{
string productsid = string.Empty;
DataTable dt;
if (Session["Mycart"] != null) {
dt = (DataTable)Session["Mycart"];
BussinessLayer B = new BussinessLayer()
{
CustomerName = txtcustomername.Text,
CustomerEmailIDl = txtcustomeremailid.Text,
CustomerAddress = txtcustomeraddress.Text,
CustomerPhoneNumber = txtphoneno.Text,
totalproducats = Convert.ToInt32(txttotalproducts.Text),
totalprice = Convert.ToInt32(txttotalprice.Text),
PaymentMethod = rblpaymentmode.SelectedItem.Text
};
DataTable dtResult = B.SaveCustomerDetail();
}
}
将方法
public
,如public DataTable SaveCustomerDetail
,这是最简单的方法
如果您的应用程序是按View-ViewModel-Model模式设计的,那么您尝试访问的业务层与表示层位于不同的程序集中。这意味着它们位于不同的dll
(项目)中
因此,您试图做的是从另一个dll
访问内部数据表SaveCustomerDetail
,这是不正常的。您只能从另一个dll
访问public
方法
您可以这样想:您的事件btnplaceorder\u Click
是表示层中控件的一部分,而您的internal
方法DataTable SaveCustomerDetail
是业务层的一部分btnplaceorder\u Click
只是不知道代码中有一个名为DataTable SaveCustomerDetail
的方法,因为您将其设置为内部
。因此,为了让所有想调用它的人都能看到它,不管它在代码中的什么位置,只需将它公开即可
您可以在此处阅读有关内部
-受保护
-公共
之间差异的更多信息:
也许它会帮助您了解视图模型设计模式:。那么问题出在哪里?错误1“BussinessLayer”不包含“SaveCustomerDetail”的定义,并且找不到接受“BussinessLayer”类型的第一个参数的扩展方法“SaveCustomerDetail”(您是否缺少using指令或程序集引用?)上面显示的错误它们是否在相同的命名空间中
?是的,它们在相同的命名空间中这是进一步的解释