0

我有一个在 .cs 中有一些属性的页面,这些属性稍后会在 .aspx 中使用例如:

。CS

public string Person { get;set; }

.ASPX

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

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

if(Person == null) 返回

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

所以..我的问题是..如果 Persons 为空,是否有办法阻止 .ASPX 被加载

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

提前致谢!

4

1 回答 1

0

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

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

但这将导致产生不可点击的链接。这可能是不希望的,不是吗?

但是使用数据绑定通常更容易满足这些要求。ASP.Net 的设计目的是模仿 Windows 窗体的行为。您在这里所做的是“传统”的 asp 代码样式,写入 html 流。在某些情况下它是合法的,但并不常见。

于 2013-04-25T08:36:39.547 回答