C# 如何修复从不同网络登录站点帐户时出现的错误

C# 如何修复从不同网络登录站点帐户时出现的错误,c#,mysql,asp.net,iis,clientid,C#,Mysql,Asp.net,Iis,Clientid,我编写了从ClientID检索数据并将其修改为Int32的代码。调试时没有错误。我已将该站点部署到网络。当通过服务器所在的同一局域网访问时,它可以正常工作。但是,当其他人(此网络之外的人)尝试登录到该站点时,将抛出一个错误 错误是: “/”应用程序中的服务器错误 异常详细信息:System.FormatException:输入字符串的格式不正确 附:该网站是可访问的。他们能够注册,更改密码和重定向到不同的网页从主页。但是,当概要文件加载时,他们会看到错误 我再次尝试调试,检查db(mySQL)连

我编写了从
ClientID
检索数据并将其修改为
Int32
的代码。调试时没有错误。我已将该站点部署到网络。当通过服务器所在的同一局域网访问时,它可以正常工作。但是,当其他人(此网络之外的人)尝试登录到该站点时,将抛出一个错误

错误是:

“/”应用程序中的服务器错误

异常详细信息:System.FormatException:输入字符串的格式不正确

附:该网站是可访问的。他们能够注册,更改密码和重定向到不同的网页从主页。但是,当概要文件加载时,他们会看到错误

我再次尝试调试,检查db(mySQL)连接,完全刷新IIS服务器管理器,检查权限,尝试将cs代码中的“Int改为Var”,从错误行中删除“value=”和“.text()”,并多次重新部署站点,每次调试时都会进行修改

function getdays(date){
  var days = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];
  var d = new Date(date);
  var dayName = days[d.getDay()];
  var selecteddays = value = $('#<%=lblweekoff.ClientID%>').text();
  var selectedSplittedDays = selecteddays.split(',');
} 
代码应该能够接受该数字,并加载与给定数字相关的计算,并将存储在数据库中的天数除以“,”进行分割

它应该允许用户登录并显示页面,没有任何错误。 由于它在同一局域网中按预期运行,我认为代码没有严重问题。不过,我们将高度赞赏所有建议

更新: 为了进一步解释,有两组预定义用户,假设集合A有100个用户,集合B有100个用户。当我把自己作为用户放在集合a中时,我就可以登录到该站点。当我在集合B中时,我无法登录,并抛出相同的错误

我删除了整个集合B并添加了插入的更新细节。但是,它仍然会对集合B中的所有用户造成相同的错误。集合A的登录和访问功能没有任何问题

我认为错误在于
$('#')
。进一步使用所有
ClientID
功能。我试图对错误行进行注释,并尝试使用另一个
.ClientID
函数执行收到错误的位置。那么,问题是与db交互的代码吗? 如果是这样,他们可以注册或更改链接到同一数据库的密码。

我知道了

输入是int格式的

Int sp1 = Convert.ToInt32(sp);
然而,输入数据是浮点(十进制数)

更正为:

float sp1= math.round(Convert.ToInt32(sp));

它确实起作用了。谢谢大家的建议和帮助

这可能是缓存问题吗?你更新了你的服务器,但也许当你在局域网之外时,你仍然会收到过时的javascript?我也试过了。删除并检查浏览器历史记录、缓存和cookie。我想在服务器和外部网络缓存之间使用代理服务器,而不是浏览器,这可以解释不同的行为。您可以尝试通过向javascript导入添加
?1
(或者理想情况下是文件更新日期的时间戳)来破坏缓存,如
,以确保。(但话说回来,这正是我想到的,我对asp.net不是很熟悉)这也不起作用。我仍然收到了相同的错误。
var sp=(dr[“p”].ToString())的值是多少何时发生此异常?
float sp1= math.round(Convert.ToInt32(sp));