我创建了一个简单的用户控件,并将其添加到aspx页面中。我已在页面中注册如下。。。
<%@ Register src="faq.ascx" tagname="faq" tagprefix="uc1" %>
问题是,在localhost上,它的工作方式很有魅力,但当我将它上传到实时环境(IIS 7.5)时,我会收到404错误。web.config中是否有我缺少的设置?
尝试以这种方式使用ascx控件的路径:
<%@ Register src="~/faq.ascx" tagname="faq" tagprefix="uc1" %>
或
<%@ Register src="~/some_path/faq.ascx" tagname="faq" tagprefix="uc1" %>
或
也许你正在使用一些url重写模块或类似的东西,它阻止(或重写)你的faq.ascx文件的路径。
尝试Fiddler应用程序识别http请求。
在我的例子中,404是在我忘记上传ascx时发生的。
如果代码后面没有同名事件,也可能导致此错误,例如:
<asp:Button ID="btnCancel" runat="server" Text="Cancel" CausesValidation="false"
OnClick="btnCancel1_Click" CssClass="btn-cancel" />
如果btnCancel1_Click在后面的代码中不存在,则会出现此错误。