2012-03-20 3 views
-5

Я пытаюсь реализовать функциональность, при которой, если я нажму кнопку, она добавит новый модуль в модуль (в основном новую страницу), но я получаю ошибку ниже линия:ASP.Net - строка ввода не в правильном формате

UnitID = Request["UnitID"] != null ? Convert.ToInt32(Request["UnitID"]) : 0; 

И StackTrace является

[FormatException: Input string was not in a correct format.] 
System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal) +7470855 
System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info) +119 
System.Convert.ToInt32(String value) +63 
Data_Project.Page_Load(Object sender, EventArgs e) in  
C:\Projects\Projects.aspx.cs:69 
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, 
Object t, EventArgs e) +14 
    System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +35 
System.Web.UI.Control.OnLoad(EventArgs e) +99 
System.Web.UI.Control.LoadRecursive() +50 
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +627 

Можете ли вы сказать мне, что ошибка?

Многие заранее благодарю вас.

+0

Вы проверили содержимое запроса ["UnitID"]? Может быть, это не число. – remio

+11

Не воспринимайте это как незначительное, но если вы не научитесь читать подобные сообщения об исключениях, вам предстоит долгая и разочаровывающая карьера. – Marc

ответ

2

Это происходит потому, что у вас есть что-то в Request["UnitID"], который не является числом

1

Ошибка «Строка ввода не в правильном формате» означает, что запрос [ «UnitID»] не может быть преобразовано в целое.

Попробуйте:

UnitID = !string.IsNullOrEmpty(Request["UnitID"]) ? Convert.ToInt32(Request["UnitID"]) : 0; 

Или это:

if(!int.TryParse(Request["UnitID"]+"", out UnitID) 
{ 
UnitID = 0; 
} 
2

Может быть, вы хотите попробовать

int UnitID = 0; 
if(string.IsNullOrEmpty(Request["UnitID"])) 
{ 
    UnitID = 0; 
} 
else 
{ 
    if(!Int32.TryParse(Request["UnitID"], out UnitID)) 
    { 
     UnitID = 0; 
    } 
} 

Надеется, что это помогает.

Смежные вопросы