【问题标题】:Why does an ASCX control throws a 404 error?为什么 ASCX 控件会引发 404 错误?
【发布时间】:2024-04-16 12:35:01
【问题描述】:
我创建了一个简单的用户控件,并将其添加到一个 aspx 页面中。
我已经在页面内注册了如下...
<%@ Register src="faq.ascx" tagname="faq" tagprefix="uc1" %>
问题是在 localhost 上它就像一个魅力,但是当我将它上传到实时环境(IIS 7.5)时,我得到了 404 错误。 web.config 中是否有我遗漏的设置?
【问题讨论】:
标签:
asp.net
vb.net
user-controls
iis-7.5
ascx
【解决方案1】:
尝试以这种方式使用 ascx 控件的路径:
<%@ Register src="~/faq.ascx" tagname="faq" tagprefix="uc1" %>
或
<%@ Register src="~/some_path/faq.ascx" tagname="faq" tagprefix="uc1" %>
或
也许你正在使用一些 url 重写模块或类似的东西,它阻止(或重写)你 faq.ascx 文件的路径。
尝试 Fiddler 应用程序来识别 http 请求。
【解决方案2】:
在我的情况下,当我忘记上传 ascx 时发生 404。
【解决方案3】:
如果后面的代码中没有同名的事件也可能会导致这个错误,例如:
<asp:Button ID="btnCancel" runat="server" Text="Cancel" CausesValidation="false"
OnClick="btnCancel1_Click" CssClass="btn-cancel" />
如果后面的代码中不存在btnCancel1_Click,就会报这个错误。