小编Ant*_*ony的帖子

如果当前的ASP.NET会话为空,我该怎么办?

在我的Web应用程序中,我执行类似这样的操作来读取会话变量:

if (HttpContext.Current.Session != null &&  HttpContext.Current.Session["MyVariable"] != null)
{
    string myVariable= (string)HttpContext.Current.Session["MyVariable"];
}
Run Code Online (Sandbox Code Playgroud)

我理解为什么重要的是要检查为什么HttpContext.Current.Session ["MyVariable"]为空(该变量可能尚未存储在会话中,或者会因各种原因重置了会话),但为什么我需要检查如果HttpContext.Current.Session是null?

我的理解是,会话是由ASP.NET自动创建的,因此HttpContext.Current.Session永远不应为null.这个假设是否正确?如果它可以为null,是否意味着我还应该在存储内容之前检查它:

if (HttpContext.Current.Session != null)
{
    HttpContext.Current.Session["MyVariable"]="Test";
}
else
{
    // What should be done in this case (if session is null)?
    // Is it possible to force the session to be created if it doesn't exist?
}
Run Code Online (Sandbox Code Playgroud)

asp.net session

119
推荐指数
4
解决办法
14万
查看次数

如何从临时表中检索字段名称(SQL Server 2008)

我正在使用SQL Server 2008.假设我创建了一个像这样的临时表:

create table #MyTempTable (col1 int,col2 varchar(10))
Run Code Online (Sandbox Code Playgroud)

如何动态检索字段列表?我想看到这样的事情:

Fields:
col1
col2
Run Code Online (Sandbox Code Playgroud)

我在考虑查询sys.columns但它似乎没有存储任何关于临时表的信息.有任何想法吗?

sql sql-server temp-tables sql-server-2008

67
推荐指数
4
解决办法
10万
查看次数

HttpContext.Current.Request.IsAuthenticated和HttpContext.Current.User.Identity.IsAuthenticated有什么区别?

HttpContext.Current.Request.IsAuthenticated和HttpContext.Current.User.Identity.IsAuthenticated有什么区别?

你会在哪种情况下使用哪一个?

asp.net

34
推荐指数
1
解决办法
7148
查看次数

如果匹配,如何在使用MERGE后获得身份值?

假设我有一个带有身份字段的表.如果它还不存在,我想在其中插入一条记录.在下面的示例中,我检查存储在@ Field1中的值是否已存在于表中.如果没有,我插入一条新记录:

表的定义:

MyTable (MyTableId int Identity not null, Field1 int not null, Field2 int not null)  
Run Code Online (Sandbox Code Playgroud)

这是我检查值是否已存在的方法,并在必要时插入

merge MyTable as t
using (@Field1, @Field2) as s (Field1,Field2)
on (t.Field1=s.Field1)
when not matched then
    insert (Field1,Field2) values (s.Field1,s.Field2);
Run Code Online (Sandbox Code Playgroud)

在表中尚不存在记录时获取标识值可以通过添加:

output Inserted.MyTableId  
Run Code Online (Sandbox Code Playgroud)

但如果记录已经在表中(即如果有匹配)怎么办?

我找到的唯一方法是在执行Merge语句后查询表:

select MyTableId from MyTable where Field1=@Field1
Run Code Online (Sandbox Code Playgroud)

有没有办法直接从Merge获取标识值?

t-sql

29
推荐指数
3
解决办法
2万
查看次数

我应该拥有哪些C#知识?

一个非常开放的问题.在过去的5个月里,我一直在使用C#进行编程,完成我成功完成的小项目.

今天我去接受C#角色的采访.第一个问题是'告诉我关于拳击'.根据我的经验,我不知道这个人是什么意思.毋庸置疑,采访并不顺利.其他问题是"为什么没有推荐使用ArrayListint","告诉我你所知道的关于线程"等

我真的不希望这种情况再发生,所以我打算花一些时间在C#上阅读(和练习).我知道最好的学习方法是通过编码,但编码不会真正帮助我回答有关'拳击'的问题.

我不是要求你回答上述技术问题.事实上,我现在知道了他们的回答,因为我在采访后直接去了谷歌,这就是我如何意识到我的C#知识有限.

我的问题是:在您看来,C#开发人员应该具备哪些知识?理想情况下,如果你能对它进行分类会更好(任何人都应该拥有的基本知识,高级知识,专家知识等).无需详细说明.对你列出的任何内容进行研究对我来说都是一个很好的练习.

c#

28
推荐指数
4
解决办法
8755
查看次数

将数据读取器中的行转换为键入的结果

我正在使用第三方库来返回数据阅读器.我想要一个简单的方法,并尽可能通用将其转换为对象列表.
例如,假设我有一个具有2个属性EmployeeId和Name的类'Employee',我希望将数据读取器(包含员工列表)转换为List <Employee>.
我想我别无选择,只能迭代数据阅读器的各行,并为每一行将它们转换为我将添加到List的Employee对象.更好的解决方案?我正在使用C#3.5,理想情况下我希望它尽可能通用,以便它适用于任何类(DataReader中的字段名称与各种对象的属性名称匹配).

c# datareader list

27
推荐指数
2
解决办法
4万
查看次数

DateTime.UtcNow和DateTime.Now.ToUniversalTime()之间的区别是什么

对我来说,他们都是一样的.UtcNow只是一条捷径吗?

c#

27
推荐指数
3
解决办法
1万
查看次数

如何使用jquery将json格式的多个参数传递给Web服务?

我正在尝试使用jquery执行asp.net webservice.当我只传递一个输入参数时,它工作正常:

$.ajax({  
    type: "POST",  
    url: url,  
    data: "{'Id1':'2'}",  
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: callback
});  
Run Code Online (Sandbox Code Playgroud)

但如果我尝试传递多个参数,它就会失败

$.ajax({  
    type: "POST",  
    url: url,  
    data: "{'Id1':'2'},{'Id2':'2'}",  
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: callback
});    
Run Code Online (Sandbox Code Playgroud)

当然,当我尝试传递2个输入参数时,我修改了Web方法,因此它需要2个输入参数.

有任何想法吗?

jquery json

13
推荐指数
2
解决办法
12万
查看次数

如何在特定属性上加入通用的对象列表

 class Person
 {
 public string FirstName { get; set; }
 public string LastName { get; set; }
 }

 List<Person> theList = populate it with a list of Person objects
Run Code Online (Sandbox Code Playgroud)

如何获取一个字符串,其中包含以逗号分隔的列表中对象的所有FirstName.例如:约翰,彼得,杰克

一个基本的解决方案是迭代每个对象,但我确信有一个单行解决方案.

谢谢.

.net c# list

12
推荐指数
2
解决办法
9497
查看次数

如何在创建友好URL时删除无效字符(即如何创建slug)?

说我有这个网页:http://ww.xyz.com/Product.aspx? CategoryId
= 1

如果CategoryId = 1的名称是"Dogs",我想将URL转换为如下内容:http:
//ww.xyz.com/Products/Dogs

问题是如果类别名称包含外来(或对于URL无效)字符.如果CategoryId = 2的名称是"Göraäldre",那么新网址应该是什么?

逻辑上它应该是:
http: //ww.xyz.com/Products/Göraäldre
但它不起作用.首先是因为空间(我可以很容易地用短划线取代)但是外国人物呢?在Asp.net中我可以使用URLEncode函数,它会给出类似这样的东西:
http://ww.xyz.com/Products/G%c3%b6ra+%c3%a4ldre
但是我不能说它比原来更好url(http://ww.xyz.com/Product.aspx?CategoryId=2)

理想情况下,我想生成这个,但我怎么能自动执行此操作(即将外来字符转换为'安全'url字符):http:
//ww.xyz.com/Products/Gora-aldre

asp.net url-rewriting slug

12
推荐指数
1
解决办法
1万
查看次数