从不同网络登录站点时如何修复错误

How to fix error while logging into account of site from different network

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

错误是:

Server Error in '/' Application

Exception Details: System.FormatException : Input string was not in a correct format.

PS: 该站点可以访问。他们能够注册、更改密码并从主页重定向到不同的页面。但是,当加载配置文件时,他们看到了错误。

我尝试再次调试,检查 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(',');
} 

C#

string MyConString = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;
                var dayColumns = new[] { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" };
var selectedDayColumn = dayColumns[(int)nextDate.DayOfWeek];
var sp = (dr["p"].ToString());
Int sp1 = Convert.ToInt32(sp);
MySqlConnection connection = new MySqlConnection(MyConString);

代码应该能够接受数字并根据给定的数字计算加载页面,并拆分天数,天数除以“,”存储在数据库中。

它应该允许用户登录并正确显示页面。 由于它是 运行 在同一个局域网中的预期,我认为代码没有严重的问题。但是,我们将不胜感激所有建议。

更新: 为了进一步解释,有两组预定义用户,假设组 A 有 100 个用户,组 B 有 100 个用户。当我将自己作为用户置于集合 A 中时,我能够登录该站点。当我在设置 B 时,我无法登录并且它会出现相同的错误。

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

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

我明白了!

输入是整数形式。

Int sp1 = Convert.ToInt32(sp);

然而,输入数据是浮点数(十进制数)。

更正为:

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

它确实有效。谢谢大家的建议和帮助。