【发布时间】:2012-07-31 09:25:43
【问题描述】:
我正在部署一个作为一组项目构建的网站,该解决方案被部署为一系列网站(一个项目 = 一个 url)。
编码语言是 c#,站点使用通过 linq 访问的 mssql db。
在开发服务器上一切正常,但目前,所有具有动态创建元素的页面(即所有<asp> 和自定义标签)都会输出一个包含以下源代码的空白页面。静态页面(标准 html 和 aspx)正确显示。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=windows-1252" http-equiv=Content-Type></HEAD>
<BODY></BODY></HTML>
我通常在 LAMP 上使用 php,这种行为不同于我在该设置中看到的任何东西。我需要一些关于此错误的原因/解决方案的新想法(最好是逐步/教程链接 - 就像我说 IIS/c#.net 不是我的正常环境)。
我尝试过的事情没有任何效果:
- 更改站点文件夹的权限
- 更改 web.config 设置
- 通过复制/粘贴和具有各种设置的 vb 发布选项重新部署站点文件
- 加上一大堆(到目前为止超过两天)的互联网研究
感谢所有回复。
编辑: 版本号:
iis: v6.1 (bulid: 7601) 操作系统:Windows 网络服务器 2008 R2 / Service Pack 1 .net:v4
第二次编辑:
示例页面:
aspx 文件:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="dbtest.aspx.cs" Inherits="Rica.Yoodul.dbtest" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<h1>test</h1>
<asp:Literal ID="Literal1" runat="server"></asp:Literal>
</div>
</form>
</body>
</html>
aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
namespace Rica.Yoodul
{
public partial class dbtest : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
SqlConnection myConnection = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["RicaConnectionString"].ConnectionString);
myConnection.Open();
SqlDataReader myReader = null;
SqlCommand myCommand = new SqlCommand("SELECT * FROM dbo.MaritialStatus", myConnection);
myReader = myCommand.ExecuteReader();
while (myReader.Read())
{
Literal1.Text = Literal1.Text + myReader["Name"].ToString();
}
myConnection.Close();
}
}
}
编辑:
我没有添加的内容:根据服务器显示的其他一些行为,我认为最可能的罪魁祸首是服务器配置错误。
编辑:
好的,我已经缩小了一些原因。通过在前端文件的第一行中取出除语言属性之外的所有内容,我可以让服务器显示静态内容。#
编辑:
OK http://www.iis.net/ConfigReference 涵盖了 iis 配置文件的使用。只有我去了页面上指示的路径,我似乎根本没有任何配置文件。我该如何确认/解决这个问题?
【问题讨论】:
-
请提供OS版本、IIS版本、.NET版本
-
您说 ASPX 页面显示正确,但带有“动态创建元素”的页面却没有 - 您能解释一下后者是什么意思吗?
-
您是否为您的网站设置了默认页面
-
@DanPuzey 缺少任何 .net 控件的 ASPX 页面可以正确显示。任何其他(甚至是单个文字)空白屏幕。我已经通过一个非常简单的将查询结果转储到文字页面中进行了测试,并且它是正确的。
-
您是否在 IIS 中注册了 ASP?打开命令提示符并运行
c:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i(您的路径可能略有不同)。