c# - 如何在从不同网络登录站点帐户时修复错误
问题描述
我已经编写了代码,可以从中检索数据ClientID
并将其修改为Int32
. 调试时没有错误。我已将该站点部署到网络。通过服务器所在的同一 LAN 访问时,它按预期工作。但是,当其他人(此网络之外)尝试登录站点时会引发错误。
错误是:
“/”应用程序中的服务器错误
异常详细信息:System.FormatException:输入字符串的格式不正确。
PS:该网站是可访问的。他们能够注册、更改密码并从主页重定向到不同的页面。但是,当配置文件加载时,他们会看到错误。
我尝试再次调试,检查db(mySQL)连接,完全刷新IIS服务器管理器,检查权限,尝试在cs代码中更改“Int to 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);
代码应该能够接受数字并使用给定数字的计算加载页面,并将除以“,”除以存储在数据库中的天数分开。
它应该允许用户登录并显示页面而不会出现任何错误。由于它在同一个 LAN 中按预期运行,我认为代码没有严重问题。但是,所有建议都将受到高度赞赏。
更新:为了进一步解释,有 2 组预定义用户,假设 A 组有 100 个用户,B 组有 100 个用户。当我将自己作为用户放入集合 A 时,我可以登录到该站点。当我在 B 组时,我无法登录,并且出现同样的错误。
我删除了整个集合 B 并添加了插入的更新细节。它仍然对集合 B 中的所有用户构成相同的错误。但是,集合 A 登录和访问功能没有任何问题。
我认为错误在于$('#<%=lblweekoff.ClientID%>')
. 进一步具有所有ClientID
功能。我试图评论错误行并尝试在另一个.ClientID
函数收到错误的地方执行。那么,问题出在与数据库交互的代码上吗?如果是这种情况,他们可以注册或更改链接到同一个数据库的密码。
解决方案
我得到了它!
输入是 int 形式。
Int sp1 = Convert.ToInt32(sp);
但是,输入数据是浮点数(十进制数)。
更正为:
float sp1= math.round(Convert.ToInt32(sp));
它确实奏效了。谢谢大家的建议和帮助。
推荐阅读
- kotlin - 如何在 datepicker andriod studio kotlin 中更新日期月份和年份
- java - 在listView onClick中获取rowItem的名称
- javascript - JS 对象空检查 - 奇怪的 JS 问题
- python - np.where 中的 Pandas GROUPBY
- api - Nexus 3 Repository Manager 创建(或运行预生成)任务而不使用用户界面
- powershell - 将 PowerShell 控制台文本写入文件
- cluster-analysis - 更新 K-Means 聚类中的 K 值
- android - 如果未安装应用程序,如何从深层链接重定向到应用程序商店?
- javascript - 使用 javascript 中的折衷库对句子进行复数/单数化
- amazon-web-services - Windows 上的 AWS CLI SSM 获取参数 InvalidParameters