我需要使用引用 session 变量的 c# 文字在 Javascript 中初始化一个值。我正在使用以下代码
<script type="text/javascript" language="javascript" >
var myIndex = <%= !((Session["myIndex"]).Equals(null)||(Session["myIndex"]).Equals("")) ? Session["backgroundIndex"] : "1" %>;
但是上面的代码给我一个经典的 Object reference not set to an instance of an object.
错误。为什么? (Session["myIndex"]).Equals(null)
不应该捕获这个特定错误吗?
最佳答案
问题是 null
不是对象,Equals()
方法只能用于对象。如果你想检查你的 Session 对象是否为 null,你应该使用 (Session["myIndex"] == null)
。您还可以使用 string.IsNullOrEmpty()
对空字符串进行额外检查。在这种情况下,您的代码应该是:
var myIndex = <%= !string.IsNullOrEmpty((string)Session["myIndex"]) ? Session["backgroundIndex"] : "1" %>;
注意:在这种情况下,Session["backgroundIndex"]
不应该是 Session["myIndex"]
吗?否则,我认为 null 或空字符串检查有点无用。
关于c# - 通过 Session 变量初始化一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2772256/