これは私のウェブサイトのエラーです。 Visual Studioでエラーは発生せず、コンパイルは正常です。これは、ウェブサイトをローカルで実行してボタンをクリックすると、Chromeやその他のブラウザでゾーンを表示するときに発生します。私はこれで完全に困惑しており、私は助けを求めていますか?大変感謝しています。無効なキャスト例外 - キャストが無効です
System.InvalidCastException: Specified cast is not valid.
at MySite.Web.Areas.Mpa.Controllers.ZonesController.d__7.MoveNext() in C:\MySite\Development\routing_branch\src\MySite.Web\Areas\Mpa\Controllers\ZonesController.cs:line 125
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Mvc.Async.TaskAsyncActionDescriptor.EndExecute(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass37.b__36(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult`1.CallEndDelegate(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResultBase`1.End()
at System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.b__3d()
at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass46.b__3f()
これは私がライン125を示して呼び出しています方法です:
93 public async Task<PartialViewResult> MapViewModal()
94 {
95 int? impersonatorTenantId;
96 int value;
97 object obj;
98 IZoneAppService zoneAppService = this._zoneAppService;
99 if (this.AbpSession.ImpersonatorTenantId.HasValue)
100 {
101 impersonatorTenantId = this.AbpSession.ImpersonatorTenantId;
102 value = impersonatorTenantId.Value;
103 }
104 else
105 {
106 impersonatorTenantId = this.AbpSession.TenantId;
107 value = impersonatorTenantId.Value;
108 }
109 List<ZoneListDto> zonesByTenantId = await zoneAppService.GetZonesByTenantId(value, true);
110 if (zonesByTenantId == null || zonesByTenantId != null && zonesByTenantId.Count == 0)
111 {
112 zonesByTenantId = new List<ZoneListDto>();
113 }
114 ITenantSettingsAppService tenantSettingsAppService = this._tenantsettingsAppService;
115 if (this.AbpSession.ImpersonatorTenantId.HasValue)
116 {
117 impersonatorTenantId = this.AbpSession.ImpersonatorTenantId;
118 obj = impersonatorTenantId.Value;
119 }
120 else
121 {
122 impersonatorTenantId = this.AbpSession.TenantId;
123 obj = impersonatorTenantId.Value;
124 }
125 string tenantCoordinates = await tenantSettingsAppService.GetTenantCoordinates((long)obj);
126 ZonesMapView zonesMapView = new ZonesMapView()
127 {
128 Zones = zonesByTenantId,
129 TenantCoordinates = tenantCoordinates
130 };
131 return this.PartialView("_MapViewModal", zonesMapView);
132 }
私のテーブルレイアウトは、このようなものです:
dbo.MySiteZones
Columns:
Id (PK, bigint, not null)
TenantId (int, not null)
Name (nvarchar(255), not null)
Caption (nvarchar(600), null)
IsActive (bit, not null)
IsDeleted (bit, not null)
DeleterUserId (bigint, null)
DeletionTime (datetime, null)
LastModificationTime (datetime, null)
LastModifierUserId (bigint, null)
CreationTime (datetime, not null)
CreatorUserId (bigint, null)
PolygonCoordinates (nvarchar(max), null)
HexColor (nvarchar(12), null)
PolygonCoordinatesReversed (nvarchar(max), null)
'Convert.ToLong()'はありません - あなたは 'Convert.ToInt64()' - https://msdn.microsoft.com/en-us/library/0c5w856c(v=vs.110)を意味するかもしれません。 aspx – Jonno
あなたは正しい...今は本当に遅すぎる;)thx。 –
ありがとうございました!それは完全にそれでした。私は名前に依存するいくつかの他のコードを持っていたので、(Convert.ToInt64(obj));答えでした!再度、感謝します! – zberg007