对于常规 Web 应用程序,我的代码中有以下 C# 代码:
protected void Page_Load(object sender, EventArgs e)
{
if (!validTime())
{
btnEdit.Enabled = false;
btnSubmit.Enabled = false; btnSubmit2.Enabled = false;
lblSuccess.Text = "It is not currently the time to edit picks for this week.";
lblSuccess.ForeColor = System.Drawing.Color.Red;
if (picksMade())
{
displayCurrentPicks();
}
}
else
{
if (picksMade())
{
btnEdit.Enabled = true;
btnSubmit.Enabled = false;
btnSubmit2.Enabled = false;
displayCurrentPicks();
lblSuccess.Text = "Viewing your current picks";
lblSuccess.ForeColor = System.Drawing.Color.Green;
if (Session["Success"] != null && Session["Success"].ToString() != String.Empty)
{
lblSuccess.Text = Session["Success"].ToString();
lblSuccess.ForeColor = System.Drawing.Color.Green;
Session.Remove("Success");
}
}
else
{
btnEdit.Enabled = false;
btnSubmit.Enabled = true; btnSubmit2.Enabled = true;
displayCreatePicks();
lblSuccess.Text = "Create your picks for this week";
lblSuccess.ForeColor = System.Drawing.Color.Green;
}
}
}
问题是,当我使用 ASP.NET 开发服务器对其进行测试时,这段代码运行良好。当我将它发布到我的实时服务器时,它有一些不同的行为。
我有一个使用此签名将数据插入数据库的 Web 方法:
[WebMethod]
public static void savePicks(List<string> Points, List<string> Teams, List<string> TieBreaker)
同样,它在测试服务器上运行并且运行良好。问题是,当方法返回时,它应该刷新页面,并且确实如此,但是在实时服务器上,我的 page_load 事件中的代码没有运行?还是以不同的方式运行?它从不调用 displayCurrentPicks() 方法?或者如果确实如此,它运行不正确?除了它在测试服务器上完美运行。
我无法通过代码检查此单步执行,因为当我这样做时,它在测试服务器上运行良好。实时服务器托管在 Godaddy 上。
我已经尝试了一切。我已经尝试在正确的方法之后进行页面刷新,并在我的 javascript 中强制 page_load 事件再次运行。没有任何效果。我已经在这几天了。而且我确信我的所有代码都在发布。我已经完成了所有通常的“愚蠢检查”。数据正在进入数据库,当有数据时,picksMade() 函数返回 true。页面刷新时数据就在那里。
为什么实时服务器不运行我发布到它的代码?为什么它运行不同的东西?还是表现不同?我知道它是不同的服务器,但它不应该运行相同的代码吗?