在Page_load上返回null时停止执行代码

时间:2013-04-25 08:18:28

标签: c# asp.net

我的网页在.cs中有一些属性, 然后,这些属性将在.aspx中使用 例如:

.CS

public string Person { get;set; }

.ASPX

<a href="<%= Person.WebSite %> >My website</a>

问题在于,如果Person为null,框架仍将尝试运行.aspx并最终抛出null异常。 如果我在我的Page_Load中进行简单的检查

if(Person == null)       返回

它仍会尝试执行.ASPX,然后会再次抛出异常

所以......我的问题是..如果Persons为null,无论如何都要阻止.ASPX加载

if(Person == null)
 //Dont run the aspx,code
 Response.Write("Something went wrong!");

提前致谢!

1 个答案:

答案 0 :(得分:0)

首先,您可以编写如下代码:

<a href="<%= Person != null? Person.WebSite : null %> >My website</a>

但这会导致产生无法点击的链接。这是不可取的,不是吗?

但是使用数据绑定通常更容易实现这些要求。 ASP.Net已被设计为模仿Windows窗体行为。你在这里做的是“遗留的”asp代码风格,在html流中编写。有些情况下它是合法的,但并不常见。