我有一个ASPX Web窗体控件,可以从另一个项目中导入Person类。
public partial class cuTest : System.Web.UI.UserControl
我在该控件中创建了一个对象会话的属性和一个填充该会话的方法。
public Person person
{
get
{
if (this.Session["Person"] == null)
{
Session["Person"] = new Person();
}
return Session["Person"] as Person;
}
}
private void crearPago()
{
this.person.name = "Max";
this.person.surname = "Ford";
}
现在,当我想从包含该控件的页面调用它时。
var x = cuTest.person;
我需要检查它是否为空,因为它不能为空。我怎么能这样做?
答案 0 :(得分:0)
我有一个静态类Web
,我在那里添加了任何在整个应用程序中都很有用的属性。
有一点不同的是,Request
,Response
和Session
对象无法直接使用。所以,我有3个辅助函数可以返回当前的Request
,Response
和Session
个对象(如果有的话)。
因此,Person person
属性就是这样:
using System;
using System.Web;
using System.Web.SessionState;
namespace MyWebApp
{
public static class Web
{
private static HttpRequest request
{
get
{
if (HttpContext.Current == null) return null;
return HttpContext.Current.Request;
}
}
private static HttpResponse response
{
get
{
if (HttpContext.Current == null) return null;
return HttpContext.Current.Response;
}
}
private static HttpSessionState session
{
get
{
if (HttpContext.Current == null) return null;
return HttpContext.Current.Session;
}
}
public static Person person
{
get
{
// Here you can change what is returned when session is not available
if (session == null) return null;
if(session["Person"] == null) {
session["Person"] = new Person();
}
return session["Person"] as Person;
}
set
{
// Here you can change how to handle the case when session is not available
if (session == null) return;
session["Person"] = value;
}
}
}
}
要使用它,请在Page
或UserControl
代码中编写
// get
var x = MyWebApp.Web.person;
// set
MyWebApp.Web.person = x;
答案 1 :(得分:-1)
您可以使用以下命令检查名称/姓氏是空还是空:
string.IsNullOrEmpty(x.name);