gpt4 book ai didi

C#.NET MVC4 - 方法的不可为空类型的参数的空条目

转载 作者:行者123 更新时间:2023-11-30 22:11:59 25 4
gpt4 key购买 nike

在我的 c#.net 项目中,当我尝试让 onClick 事件开始时出现此错误。我想我可能遗漏了一个重要的程序集引用,但无法弄清楚为什么会发生此错误。该项目直到最近都运行良好,我所做的一些修改导致了这个问题

问题

SERVER ERROR IN APPLICATION

Server Error in '/' Application.



参数字典包含一个不可为空类型 'System.Double' 的参数 'lat' 的空条目,用于方法 'System.Web.Mvc.ActionResult Index(Double, Double, System.String, System.String, System.String, System.String, System.String)' 中的“MyDisplayTracking.Controllers.HomeController”。可选参数必须是引用类型、可为空类型或声明为可选参数。
参数名称:参数

说明:在执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其在代码中的来源的更多信息。

异常详细信息:System.ArgumentException:参数字典包含非空类型“System.Double”的参数“lat”的空条目,用于方法“System.Web.Mvc.ActionResult Index(Double, Double, System.String, System .String, System.String, System.String, System.String)' 在“MyDisplayTracking.Controllers.HomeController”中。可选参数必须是引用类型、可为空类型或声明为可选参数。
参数名称:参数

源错误:

执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常来源和位置的信息。

堆栈跟踪:

[ArgumentException: 参数字典包含非空类型 'System.Double' 的参数 'lat' 的空条目,用于方法 'System.Web.Mvc.ActionResult Index(Double, Double, System.String, System.String, System .String, System.String, System.String)' 中的“MyDisplayTracking.Controllers.HomeController”。可选参数必须是引用类型、可为空类型或声明为可选参数。
参数名称:参数]
System.Web.Mvc.ActionDescriptor.ExtractParameterFromDictionary(ParameterInfo parameterInfo, IDictionary 2 parameters, MethodInfo methodInfo) +664911
System.Web.Mvc.<>c__DisplayClass1.<Execute>b__0(ParameterInfo parameterInfo) +18
System.Linq.WhereSelectArrayIterator
2.MoveNext() +85
System.Linq.Buffer 1..ctor(IEnumerable 1 个来源)+217
System.Linq.Enumerable.ToArray(IEnumerable 1 source) +78
System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary
2 个参数) +133
System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary 2 parameters) +27
System.Web.Mvc.Async.<>c__DisplayClass42.<BeginInvokeSynchronousActionMethod>b__41() +28
System.Web.Mvc.Async.<>c__DisplayClass8
1.b__7(IAsyncResult _) +12
System.Web.Mvc.Async.WrappedAsyncResult 1.End() +57
System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult) +50
System.Web.Mvc.Async.<>c__DisplayClass39.<BeginInvokeActionMethodWithFilters>b__33() +58
System.Web.Mvc.Async.<>c__DisplayClass4f.<InvokeActionMethodFilterAsynchronously>b__49() +237
System.Web.Mvc.Async.<>c__DisplayClass37.<BeginInvokeActionMethodWithFilters>b__36(IAsyncResult asyncResult) +12
System.Web.Mvc.Async.WrappedAsyncResult
1.End() +57
System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethodWithFilters(IAsyncResult asyncResult) +50
System.Web.Mvc.Async.<>c__DisplayClass2a.b__20() +24
System.Web.Mvc.Async.<>c__DisplayClass25.b__22(IAsyncResult asyncResult) +126
System.Web.Mvc.Async.WrappedAsyncResult 1.End() +57
System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult) +45
System.Web.Mvc.<>c__DisplayClass1d.<BeginExecuteCore>b__18(IAsyncResult asyncResult) +14
System.Web.Mvc.Async.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar) +25
System.Web.Mvc.Async.WrappedAsyncResult
1.End() +62
System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult) +61
System.Web.Mvc.Async.<>c__DisplayClass4.b__3(IAsyncResult ar) +25
System.Web.Mvc.Async.WrappedAsyncResult 1.End() +62
System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult) +49
System.Web.Mvc.Controller.System.Web.Mvc.Async.IAsyncController.EndExecute(IAsyncResult asyncResult) +10
System.Web.Mvc.<>c__DisplayClass8.<BeginProcessRequest>b__3(IAsyncResult asyncResult) +28
System.Web.Mvc.Async.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar) +25
System.Web.Mvc.Async.WrappedAsyncResult
1.End() +62
System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) +49
System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult 结果) +9
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +9042429
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean&completedSynchronously) +184

版本信息:Microsoft .NET Framework 版本:4.0.30319; ASP.NET 版本:4.0.30319.1016

\

家庭 Controller :
 public ActionResult MyStores(double lat, double lng, string storename, string city, string state, string distributor, string channels)
{
MyStoresModel r = new MyStoresModel();
r.stores = new List<StoreDataModel>();
using (DisplayTrackingEntities ctx = new DisplayTrackingEntities())
{

我试图从我的索引 View 中调用它,如下所示:
            <input type="hidden" id="lat" name="lat" />
<input type="hidden" id="lng" name="lng" />
<div class="row">
<div class="form-actions">
<button class="btn" onclick="return UseGPS();">Use GPS</button>
<button class="btn" onclick="return Search();">Search</button>
</div>
</div>

最佳答案

您正在收到 System.ArgumentException因为您没有为任何一个隐藏字段分配值。您的 View 应如下所示:

<input type="hidden" id="lat" name="lat" value="1.234" />
<input type="hidden" id="lng" name="lng" value="5.678" />

关于C#.NET MVC4 - 方法的不可为空类型的参数的空条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19941261/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com