[英]Page returns exception in IIS7.5, runs fine in VS2010 debug
向現有的MVC網頁添加一些代碼。 該網站的所有其他部分仍然可以正常工作。 在VS2010中運行Debug,代碼可以正常運行。 上傳到IIS 7.5后,它返回以下異常。 有任何想法嗎? 如果需要,可以提供其他代碼。
謝謝
Value cannot be null.
Parameter name: String
at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
at System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info)
at System.Int32.Parse(String s)
at McCarterMobile.Controllers.CartController.RemoveContribution(FormCollection form) in V:\Google Drive\Websites\Mobile Site\McCarterMobile\Controllers\CartController.cs:line 391
at lambda_method(Closure , ControllerBase , Object[] )
at System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters)
at System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters)
at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClass15.<InvokeActionMethodWithFilters>b__12()
at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation)
at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClass15.<>c__DisplayClass17.<InvokeActionMethodWithFilters>b__14()
at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodWithFilters(ControllerContext controllerContext, IList`1 filters, ActionDescriptor actionDescriptor, IDictionary`2 parameters)
at System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName)
這是控制器代碼。
383 public ActionResult RemoveContribution(FormCollection form)
384 {
385 string sessionKey = "";
386
387 if (HttpContext.Request.Cookies[FormsAuthentication.FormsCookieName] != null)
388 {
389 {
390 sessionKey = FormsAuthentication.Decrypt(HttpContext.Request.Cookies[FormsAuthentication.FormsCookieName].Value).UserData;
391 repository.RemoveContribution(sessionKey, int.Parse(form["Ref_Num"]));
392 }
393 return RedirectToAction("Index");
394 }
395 else
396 {
397 return RedirectToAction("File Not Found", "Errors");
398 }
399 }
這是cshtml代碼
@using (Html.BeginForm("RemoveContribution", "Cart"))
{
<input type="submit" data-role="button" data-inline="true" data-iconpos="notext" data-icon="delete" data-iconpos="right" />
<input type=hidden name=Ref_Num value='@c.RefNum' />
}
MVC框架將處理類型轉換,如果您願意,它將為您處理:
public ActionResult RemoveContribution(int? Ref_Num = null)
{
if (Ref_Num == null)
{
// report an error or whatever
}
else
{
// do something with Ref_Num
}
}
MVC框架中有很多代碼來支持這些內容,因此您不必繼續處理類型轉換等問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.