ASP.Net页面没有编译

时间:2013-10-11 12:00:53

标签: c# asp.net

在网络应用中,有一个.aspx页面doesnt have the code behind file(.cs)。它位于名为staticcontent的文件夹中。以下是aspx的标记

<%@ Page Title="" Language="C#" %>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
</head>
<body>    
 <form action='searchdata.aspx' method='post'>
 <input type='text' value='' id='searchText' />
 <button id='btnSearch'>Search</button>
 </form>
 </body>
</html>

现在我想将此搜索文本框移动到asp.net并在此页面中注册。

然而,它似乎没有被编译。

它仍然只呈现用户控件的语法

<%@ Register Src="~/controls/EmpSearch.ascx" TagName="search" TagPrefix="emp" %>
<emp:search runat="server" ID="searchCtrl"></emp:search>

呈现HTML

<body>
This contains only static text and there is no dynamic data
Employee Search
<emp:search runat="server" ID="searchCtrl"></emp:search>
</body>

尝试使用<!--#include file="~/controls/EmpSearch.ascx"-->没有影响。

为什么不在这里编译.aspx页面。

.csproj has only <Content Include="StaticContent\Employee.aspx" />

并且没有

<Compile Include="StaticContent\Employee.aspx.cs"> 

因为它没有代码

1 个答案:

答案 0 :(得分:3)

没有整个标记很难说,但我会说你可能有一些配置使得存储在staticcontent文件夹中的文件被视为静态内容:-)而不是传递给asp.net编译/执行。

在静态内容文件夹的配置中查看web.config或IIS。

有关信息,这适用于我的开发服务器:

WebForm1.aspx:

<%@ Page Language="C#"%>
<%@ Register Src="~/WebUserControl1.ascx" TagPrefix="uc1" TagName="WebUserControl1" %>
<html>
<head>   
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
        <uc1:WebUserControl1 runat="server" ID="WebUserControl1" />
    </form>
</body>
</html>

WebUserControl1.ascx:

<%@ Control Language="C#"%>
<asp:TextBox runat="server" ID="tbSearch"></asp:TextBox>
<asp:Button runat="server" Text="Search"/>