我在我的项目中使用ScriptManager对象和UpdatePanel。我已经在调试模式下多次测试了这个项目,但是一旦我将页面发布到IIS,站点就无法找到脚本。脚本出现在我的Script文件夹中,但是当我单击ScriptManager创建的链接时,就会得到一个404。我假设这可能是由于我没有动态创建我的链接这一事实。
ScriptManager.RegisterStartupScript(this.searchBut, searchBut.GetType(), "jquery", " <script src=\"/Scripts/DataTables-1.10/jquery.js\" type=\"text/javascript\"></script>", false);
ScriptManager.RegisterStartupScript(this.searchBut, searchBut.GetType(), "datatables", " <script src=\"/Scripts/DataTables-1.10/jquery.dataTables.js\" type=\"text/javascript\"></script>", false);
ScriptManager.RegisterStartupScript(this.searchBut, searchBut.GetType(), "jquery ui", "<script src=\"/Scripts/jquery-ui-1.10.4.js\" type=\"text/javascript\"></script>", false);
ScriptManager.RegisterStartupScript(this.searchBut, searchBut.GetType(), "baloons", "<script src=\"/Scripts/jquery.balloon.js\" type=\"text/javascript\"></script>", false);
ScriptManager.RegisterStartupScript(this.searchBut, searchBut.GetType(), "index", "<script src=\"/Scripts/index.js\" type=\"text/javascript\"></script>", false);
ScriptManager1.RegisterAsyncPostBackControl(searchBut);更新:
这就是我的脚本标记在服务器创建后的样子。
<script src="/Scripts/DataTables-1.10/jquery.js" type="text/javascript"></script><script src="/Scripts/DataTables-1.10/jquery.dataTables.js" type="text/javascript"></script><script src="/Scripts/jquery-ui-1.10.4.js" type="text/javascript"></script><script src="/Scripts/jquery.balloon.js" type="text/javascript"></script><script src="/Scripts/index.js" type="text/javascript"></script>发布于 2014-06-01 19:34:34
您的调试在Visual的内置‘ll服务器下可能运行良好,但是如果您将项目设置改为使用IIS,则会遇到同样的问题。您需要限定您的脚本路径,以使其相对于web应用程序。例如:
ScriptManager.RegisterStartupScript(this.searchBut, searchBut.GetType(), "jquery", " <script src=\"" + Request.Url.GetLeftPart(UriPartial.Authority) + Request.ApplicationPath + "/Scripts/DataTables-1.10/jquery.js\" type=\"text/javascript\"></script>", false);https://stackoverflow.com/questions/23982633
复制相似问题