当文本框输入数字时正常,当不输入时候直接提交出现错误。
输入字符串的格式不正确。
前台如下:
添加横幅广告:
广告标题:
图片地址:
广告链接地址:
广告是否显示:
图片宽度: 文本框
图片高度: 文本框
失效日期:
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.FormatException: 输入字符串的格式不正确。
源错误:
行 106: model.LinkUrl=this.txtLinkUrl.Text;
行 107: model.Passed=check();
行 108: model.ImgWidth= Convert.ToInt32(this.txtImgWidth.Text);
行 109: model.ImgHeight=Convert.ToInt32(this.txtImageheight.Text);
行 110: //model.validate=Convert.ToDateTime(this.InputCalendar1.Text);
源文件: \advertisementadd.cs 行: 108
------解决方案--------------------try{
}catch(exception ex)
{}处理下,同时调用一下js判断输入是否为数字,在失去焦点的时候调用
//限制不允许输入除0~9之外的所有字符
function KeyPress(objTR)
{
var txtval=objTR.value;
var key = event.keyCode;
if((key < 48||key > 57)&&key != 46)
{
event.keyCode = 0;
}
else
{
if(key == 46)
{
event.keyCode = 0;
}
}
}
------解决方案--------------------你的this.txtImgWidth.Text(this.txtImageheight.Text)都是''的,怎么Convert。。。。
你加个判断是否为空,然后转换,简单做法的话就直接
try
{
model.ImgWidth= Convert.ToInt32(this.txtImgWidth.Text);
}
catch
{
model.ImgWidth = 0;
}
------解决方案--------------------function KeyPress(obj)
{
var txtval = obj.value;
var key = event.keyCode;
if((key <48 || key >57) &&key !=46)
{
event.keyCode = 0;
}
else
{
if(key == 46)
{
if(txtval.indexOf(".") != -1 || txtval.length == 0)
event.keyCode = 0;
}
}
}
<asp:TextBox ID="txtBeginPrice" runat="server" onkeypress="KeyPress(this)" MaxLength="10"></asp:TextBox>
ls的有点问题。
------解决方案--------------------那不错误提示说的很清楚了。你在
行 108: model.ImgWidth= Convert.ToInt32(this.txtImgWidth.Text);
行 109: model.ImgHeight=Convert.ToInt32(this.txtImageheight.Text);
行 110: //model.validate=Convert.ToDateTime(this.InputCalendar1.Text);
前加Response.Write("<script language=javascript>alert('"+this.txtImgWidth.Text+"');</script>");这样一句话,看看你的那些文本是不是有问题。就OK了。
比如说,你把一个“节右”Convert成Int。它能不出错吗?
把一个“abncoegh" Convert成DateTime,能不出错吗?