我的DataEntityLayer中有一些变量,例如对所有用户都是通用的
public class DataEntityLayer : System.Web.UI.Page
{
public string UserName
{
get
{
if (Session["UserName"] == null)
{
GotoLoginPage();
return null;
}
else
return Session["UserName"].ToString();
}
set { Session["UserName"] = value; }
}
}
Run Code Online (Sandbox Code Playgroud)
我正在使用此变量在用户登录时显示用户名,这工作正常,但经常变为空.我怎样才能避免这种情况,或者让我知道在我的图层中声明变量的方法,以便在用户登录时显示用户名.
我正在构建以下过滤器:
public class TestflowFilter : FilterAttribute, IActionFilter
{
public void OnActionExecuted(ActionExecutedContext filterContext)
{
var profileId = int.Parse(ClaimsPrincipal.Current.GetClaimValue("UserId"));
var appId = int.Parse(filterContext.RouteData.Values["id"].ToString());
if (profileId != 0 && appId != 0)
{
if (CheckIfValid(profileId, appId))
{
// redirect
filterContext.Result = // url to go to
}
}
}
public void OnActionExecuting(ActionExecutingContext filterContext)
{
}
}
Run Code Online (Sandbox Code Playgroud)
我实际上只需要OnActionExecuted,但由于IActionFilter是一个接口,所以我必须同时实现它们。OnActionExecuting如果我不需要发生任何事情,可以留空吗?还是需要调用 MVC 始终运行的基本版本?
另外,在该OnActionExecuted方法中,如果CheckIfValid是true,我会重定向用户,但如果不是,我不会执行任何操作。可以吗,还是我需要设置一些属性filterContext。
这是我尝试过的代码
int[] WeeklyTotal = new int[53];
for (int w = 1; w <= 53; w++)
{
WeeklyTotal[w] = WeeklyTotal[w] + data.Rows[i]["week" + w]; // Error is here
}
Run Code Online (Sandbox Code Playgroud)
但我收到编译错误:
无法将opperator +应用于int和object类型的opperands
这里的语法是什么?
谢谢!
首先,我是C#的新手.我得到
的错误是:
附加信息:无法将类型为"UserGUI.MyItems"的对象强制转换为"CommonBookLib.AbstractItem".
他们是两个不同的类:
public class MyItems
{
public string ItemName { get; set; }
public int CopyNumber { get; set; }
public int Guid { get; set; }
public DateTime? TimePrinted { get; set; }
public string Category { get; set; }
public string SubCategory { get; set; }
public bool? BestSeller { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
和
public class AbstractItem : IPropsDetails
{
public int CopyNumber { get; }
public string ItemName { get; }
public …Run Code Online (Sandbox Code Playgroud) 我想将a转换YYYYMM-integer为Date而不将其转换为character(=是否有类似SAS的mdy函数?).我想替换这段代码:
dateint<-201511
datestr<-paste(toString(dateint,length=8),'01')
date<-as.Date(datestr,'%Y%m%d')
print(date)
class(date)
Run Code Online (Sandbox Code Playgroud)
有一个工作版本.如果可能,结果类也应该是一个日期:
year<-dateint %% 100
month<-floor(dateint/100)
date2<-ISOdate(year,month,1) # I can't make this work ..
print(date2)
class(date2)
Run Code Online (Sandbox Code Playgroud)
谢谢和亲切的问候
我从文本文件中分割文本,我必须比较2个字符串,一个来自文本框,另一个来自特定行的文本文件.来自文本的字符串在末尾有一个空格,并且比较总是错误的.这是代码.谢谢!
private void button1_Click(object sender, EventArgs e)
{
Random r = new Random();
t = r.Next(1,30);
StreamReader sr = new StreamReader("NomenA1.txt");
cuv = sr.ReadToEnd().Split('\n');
string original = cuv[t];
Random num = new Random();
// Create new string from the reordered char array.
string rand = new string(original.ToCharArray().
OrderBy(s => (num.Next(2) % 2) == 0).ToArray());
textBox2.Text = rand;
button1.Visible = false;
button2.Visible = true;
}
private void button2_Click(object sender, EventArgs e)
{
button1.Visible = false;
string a =Convert.ToString(textBox1.Text.ToString());
string b = …Run Code Online (Sandbox Code Playgroud) 我有一份清单List<OfferComparison> Comparison.我想检查所有物品是否都Value == null处于if状态.
我怎么能用linq做到这一点?
public class OfferComparison : BaseModel
{
public string Name { get; set; }
public string Value { get; set; }
public bool Valid { get; set; }
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试将 JSON 输出到 Web 表单中的下拉列表。我已经做到了这一点:
WebClient client = new WebClient();
string getString = client.DownloadString("http://myfeed.com/app_feed.php");
JavaScriptSerializer serializer = new JavaScriptSerializer();
dynamic item = serializer.Deserialize<object>(getString);
string name = item["title"];
return name;
Run Code Online (Sandbox Code Playgroud)
这使提要恢复正常,但在线路上遇到错误:
string name = item["title"];
Run Code Online (Sandbox Code Playgroud)
带回此错误:
附加信息:字典中不存在给定的键。
这是我的提要示例:
{"apps":[{"title":"title1","description":"description1"},
{"title":"title2","description":"description2"},
{"title":"title3","description":"description3"}
Run Code Online (Sandbox Code Playgroud)
所以我以为我在引用第一个标题,我打算遍历它们:
string name = item["title"];
Run Code Online (Sandbox Code Playgroud)
但显然不是!我查看了 Stackoverflow,但找不到可以应用于我自己的代码的答案。