C# 如何将变量传递到另一个命名空间?
我必须在这里将一个计数值传递给另一个C# 如何将变量传递到另一个命名空间?,c#,asp.net,sql-server,C#,Asp.net,Sql Server,我必须在这里将一个计数值传递给另一个名称空间。我有两个类Select.cs和Value.cs选择。cs具有以下代码: public bool Login(string UserName, string Password) { string strinvselect = string.Format("select * from newlog where pass='{0}'", Password);
名称空间
。我有两个类Select.cs
和Value.cs
<代码>选择。cs具有以下代码:
public bool Login(string UserName, string Password)
{
string strinvselect = string.Format("select * from newlog where
pass='{0}'", Password);
DataTable dtlog = ExecuteStatement(strinvselect);
if (dtlog.Rows.Count == 1)
{
string strvalue = string.Format("Select * FROM login WHERE uid=
'{0}'", UserName);
DataTable newlogin = ExecuteStatement(strvalue);
try
{
if (newlogin.Rows.Count == 1)
{
loginStatus = true;
}
}
catch (Exception ex)
{
loginStatus = false;
}
return loginStatus;
}
}
我必须创建一个计数值如果(newlogin.Rows.count==1)
,count=1
,这个值应该在value.cs中可用以检查功能。
在Value.cs
中调用函数getdetails()
。我要查一下
if (count == 1)
{
getdetails();
}
else
{
// call another function
}
您可以在登录外部检查count查询(基本上在您需要的任何地方),然后将其作为“用户名+计数”(您需要拆分它)传递到登录第一个参数,因为您可以避免再次检查登录内部的count。我找到了答案: 名称空间在这里并不真正相关,问题是您需要从不同的类访问变量。您拥有特定于用户的“全局”变量的方式是会话,因此将值存储在会话变量中,并让您的其他类访问会话变量
HttpContext.Current.Session["myData"] = "somevalue";
价值函数
string x;
if (Session["myData"] == null)
{
// handle the data not being set
}
else
{
x = (string)HttpContext.Current.Session["myData"].ToString(); ;
}
是否要将count传递给Value.cs?可能在这里发布您的Value.cs代码。首先,上一堂术语课:您不会将任何内容传递给命名空间。名称空间只是类的容器。您可以将内容传递给方法。您可以将内容分配给属性、字段和变量。此外,
Select.cs
和Value.cs
是文件名,而不是类。最后呢?即使在调整了术语之后,你也没有什么意义。听起来你好像在试图重新发明ASP.NET的身份验证和配置文件机制?你为什么不直接用盒子里的东西呢?这些比手工编写自己的版本更快更安全,除非你确切知道自己在做什么。问题和答案之间没有关系。你到底在问什么还不清楚。会话变量既不是全局变量,也不是特定于用户的容器,不应该这样使用。会话变量是每个用户会话的变量,这意味着它们是不稳定的,并且会过期。这也意味着它们必须被序列化,它们不能存储大量数据,也不能扩展。