为什么在部署我的ASP之后会发生这种情况?Net动态数据Web应用程序到测试服务器

本文关键字:数据 动态 Net Web 应用程序 服务器 测试 情况 ASP 我的 部署 | 更新日期: 2023-09-27 18:16:14

我今天第一次将我开发的web应用程序部署到我们的测试服务器上,并且由于一些奇怪的原因,insert上的"insert"超链接。Aspx页面模板无法正常工作。它不会抛出错误,我可以插入到远程托管SQL Server DB上的问题表中,如下所示:

protected void btInsert_Click(object sender, EventArgs e)
{
    BedType bt = new BedType();
    bt.Value = "Twin";
    bt.MaxSpace = 1;
    using (OEContext context = new OEContext())
    {
        context.BedTypes.Add(bt);
        context.SaveChanges();
    }
}

但是当尝试使用默认的insert插入时。在Aspx模板中,"insert"超链接不起作用("cancel"可以正常工作!)

Google-fu让我整个下午都失败了。

为什么在部署我的ASP之后会发生这种情况?Net动态数据Web应用程序到测试服务器

所以,在我绞尽脑汁之后,我终于找到了这个奇怪问题的答案,我想把它贴出来,以防其他人遇到同样的问题。

当我使用NuGet安装"AJAX工具包"时,我的应用程序停止编译,因为它没有找到脚本管理器正在寻找的"MsAjaxBundle"Web资源:

<asp:ScriptReference name="MsAjaxBundle" />

这段代码被添加到我的网站。主文件时,我添加了对ajax控件工具包的引用。因为它正在寻找那个包,但它不存在,我做了一点谷歌搜索,找到了网络资源,并在我的全局脚本管理器中注册了它。asax文件:

ScriptManager.ScriptResourceMapping.AddDefinition("MsAjaxBundle", new ScriptResourceDefinition
{
    Path = "~/bundles/MsAjaxJs", 
    CdnPath = "http://ajax.aspnetcdn.com/ajax/4.5/6/MsAjaxBundle.js", 
    LoadSuccessExpression = "window.Sys", 
    CdnSupportsSecureConnection = true
});

编译并运行!但是,由于某种原因,应用程序正在抑制"WebForm_PostBackOptions未定义"错误。一旦我发现并开始挖掘,我就被带回到我的MsAjaxBundle,并最终意识到它就是罪魁祸首。我又搜索了一下,发现了这个页面:

http://stephenblog.wpengine.com/archive/2012/09/20/september - 2012 -释放- - - ajax控件工具包

指向ScriptManager中的一些更改:

1)我们需要用ajaxToolkit:ToolkitScriptManager替换asp:ScriptManager

2)我们需要从ScriptReferences 中删除MsAjaxBundle包

3)我们需要移除Assembly="System"。Web"属性

我的问题解决了。如果有人比我有更多的知识和经验,可以在评论中解释为什么会发生这种情况,那么请随意!P

我很高兴我通过了这个,因为它对我来说特别令人沮丧。