IIS没有接收我更新的代码

时间:2018-07-09 10:21:06

标签: asp.net iis

我有一个asp.net网站,它可以完美地在iis上工作。我只是在我从Visual Studio调试时添加了其他情况以处理null异常及其正常工作,但是当我将其部署到本地iis时会抛出异常

我的代码是

if (txtflat.Text != "")
               { comm.Flat_Commission = Convert.ToDouble(txtflat.Text); }
                else { comm.Flat_Commission = Convert.ToDouble(0.0); }

我看到的错误是

[FormatException: Input string was not in a correct format.]System.Number.ParseDouble(String value, NumberStyles options,NumberFormatInfo numfmt) +14777139SalesCommissionUtility.User.viewCommission.btnAddCommission_Click(Object sender, EventArgs e) +1811System.Web.UI.WebControls.Button.OnClick(EventArgs e) +11764877System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +150System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1665

3 个答案:

答案 0 :(得分:0)

检查。文本可以为null或“”。 String.IsNullOrWhiteSpace("text")方法将同时检查null或“”。

if (!String.IsNullOrWhiteSpace(txtflat.Text))
   { 
       comm.Flat_Commission = Convert.ToDouble(txtflat.Text); 
   }
else 
   { 
       comm.Flat_Commission = Convert.ToDouble(0.0); 
   }

答案 1 :(得分:0)

您应该采取更安全的方法: 使用

  

Double.TryParse

为避免任何可能的错误/例外:

double val;
if (Double.TryParse(txtflat.Text, out val)){
   comm.Flat_Commission = val;
}
else{
   //input text is not well formatted. Handle this situation programmatically
}

通常来说,处理双精度数需要一点点注意,因为在不同的文化中,小数部分使用不同的分隔符(例如,用引号代替点)。

无论如何,在收到的异常消息中,错误非常明显:输入字符串(txtflat.Text)不能被解析为两倍,因为其格式不正确。

答案 2 :(得分:0)

我的问题是因为Visuai Studio没有更新我的文件,所以IIS没有进行检查。问题出在我的Windows用户帐户上。我从管理帐户登录后进行了所有更改,然后进行了更新并开始工作。我希望这将帮助任何面临相同问题的人。