Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 对象引用未设置为对象的实例。就地支架_C#_Asp.net_Gridview - Fatal编程技术网

C# 对象引用未设置为对象的实例。就地支架

C# 对象引用未设置为对象的实例。就地支架,c#,asp.net,gridview,C#,Asp.net,Gridview,我发现了这个错误 ph = (PlaceHolder)row.FindControl("phs"); ASP.Net代码: <PagerTemplate> <table> <tr> <td><asp:PlaceHolder ID="phs" runat="server"></asp:PlaceHolder></td> </tr> </table&g

我发现了这个错误

ph = (PlaceHolder)row.FindControl("phs");
ASP.Net代码:

<PagerTemplate>
   <table>
     <tr>
       <td><asp:PlaceHolder ID="phs" runat="server"></asp:PlaceHolder></td>
     </tr>
   </table>
</PagerTemplate>

如果此行引发异常:

ph = (PlaceHolder)row.FindControl("phs");
。。。然后这表明
为空。如果它不是null,那么即使方法调用返回null,它也不应该抛出异常。您可以毫无问题地强制转换空引用1

因此,确定
是否可能以某种方式为空,或者修复代码,使其不能为空,或者在使用它之前检查它是否为空


请注意,我可以想出三个模糊的选择:

  • row.FindRow
    实际上可能引用了
    row
    中作为委托的字段或属性,但该委托为空
  • row.FindRow
    可能返回null,强制转换表达式可能正在执行某个用户定义的强制转换,该强制转换正在引发异常
  • 赋值可以是引发异常的属性设置程序调用

请注意,只有第一种情况才是抛出异常的那一行——我认为这是极不可能的。

plz发布您的整个代码,行或行。FindControl(“phs”)为/返回null。不过,更详细的描述会有所帮助@Piushshukla如果答案有用,你需要接受它。上次你也没有接受我的答案。可能重复@Piushshukla:你怎么做什么?目前,我们不知道
来自何处,所以我们不知道它是否为空是合法的。您需要能够自己思考自己的代码。