对象引用未设置为报表vewier中对象的实例 [英] Object reference not set to an instance of an object in report vewier
本文介绍了对象引用未设置为报表vewier中对象的实例的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
您好b $ b
我需要在asp.net的报告查看器中禁用excel导出。但错误仍然存在。我做了调试,错误是对象引用没有设置为对象的实例这个留置权
Dim ListRenderingExtensions As System.Reflection.MethodInfo = m_previewService .FieldType.GetMethod(ListRenderingExtensions,Flags)
请帮帮我
问候
Maideen
Hi
I need to disable excel export in Report viewer in asp.net. But error persist. I did debug, Error is "Object reference not set to an instance of an object" in this lien
" Dim ListRenderingExtensions As System.Reflection.MethodInfo = m_previewService.FieldType.GetMethod("ListRenderingExtensions", Flags)"
Please help me
Regards
Maideen
Protected Sub DisableFormat(ByRef viewer As ReportViewer, ByVal formatName As String)
Const Flags As System.Reflection.BindingFlags = System.Reflection.BindingFlags.NonPublic + System.Reflection.BindingFlags.Public + System.Reflection.BindingFlags.Instance
Dim m_previewService As System.Reflection.FieldInfo = viewer.LocalReport.GetType().GetField("m_previewService", Flags)
Dim ListRenderingExtensions As System.Reflection.MethodInfo = m_previewService.FieldType.GetMethod("ListRenderingExtensions", Flags)
Dim previewServiceInstance As Object = m_previewService.GetValue(viewer.LocalReport)
Dim extensions As IList = ListRenderingExtensions.Invoke(previewServiceInstance, Nothing)
Dim name As System.Reflection.PropertyInfo = extensions(0).GetType().GetProperty("Name", Flags)
Dim extension As Object
For Each extension In Extensions
If (String.Compare(name.GetValue(extension, Nothing).ToString(), formatName, True) = 0) Then
Dim m_isVisible As System.Reflection.FieldInfo = extension.GetType().GetField("m_isVisible", System.Reflection.BindingFlags.NonPublic + System.Reflection.BindingFlags.Instance)
m_isVisible.SetValue(extension, True)
Dim m_isExposedExternally As System.Reflection.FieldInfo = extension.GetType().GetField("m_isExposedExternally", System.Reflection.BindingFlags.NonPublic + System.Reflection.BindingFlags.Instance)
m_isExposedExternally.SetValue(extension, True)
Exit For
End If
Next extension
End Sub
Protected Sub ReportViewer1_PreRender(sender As Object, e As EventArgs) Handles ReportViewer1.PreRender
Call DisableFormat(Me.ReportViewer1, "Excel") ' Disable EXCEL format
End Sub
推荐答案
首先检查 m_previewSe rvice.FieldType
不为null并继续使用GetMethod调用
first check m_previewService.FieldType
is not null and proceed with GetMethod call
这篇关于对象引用未设置为报表vewier中对象的实例的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文