VS.net2003中不报错,也不显示任何东西。  
 
 
代码如下:先说VS.net中  
=========================================  
WebForm1.aspx  
========================================  
<%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="test1.WebForm1" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>WebForm1</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<FONT face="宋体">
<asp:DataGrid id="DataGrid1" style="Z-INDEX: 102; LEFT: 312px; POSITION: absolute; TOP: 152px"
runat="server" Height="136px" Width="328px"></asp:DataGrid></FONT>
</form>
</body>
</HTML>
==========================================  
WebForm1.aspx.cs        
==========================================  
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;namespace test1
{
/// <summary>
/// WebForm1 的摘要说明。
/// </summary>
public class WebForm1 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.DataGrid DataGrid1; private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load); } private void Page_Load(object sender, System.EventArgs e)
{
SqlConnection MyConnection;
SqlCommand MyCommand;
MyConnection = new SqlConnection("server=127.0.0.1;user id=sa;password=;database=guestbook;");
MyCommand =new SqlCommand("SELECT * from liuyan",MyConnection);
MyConnection.Open();
SqlDataReader dr = MyCommand.ExecuteReader();
DataGrid1.DataSource=dr;
DataGrid1.DataBind();
dr.Close();
MyConnection.Close(); } }
}
========================================================  
记事本直接写的test1.aspx  
========================================================  
<%@Import  Namespace="System.Data"%>  
<%@Import  Namespace="System.Data.SqlClient"%>  
 
 
<script  runat="server"  language="c#">  
void  Page_Load()  
{  
 
 
SqlConnection  MyConnection;  
                                   SqlCommand  MyCommand;  
                                   MyConnection  =  new  SqlConnection("server=127.0.0.1;user  id=sa;password=;database=guestbook;");  
                                   MyCommand  =new  SqlCommand("SELECT  *  from  liuyan",MyConnection);  
                                   MyConnection.Open();  
                                   SqlDataReader  dr  =  MyCommand.ExecuteReader();  
                                   DataGrid1.DataSource=dr;  
                                   DataGrid1.DataBind();  
                                   dr.Close();  
                                   MyConnection.Close();  
 
 
 
}  
</script>  
<html>  
<body>    
<asp:DataGrid    
id="DataGrid1"    
cellpadding="1"    
showheader="true"    
borderwidth="0"  
runat="server"    
/>    
</body>  
</html>

解决方案 »

  1.   

    我这上网的机器没装SQL SERVER,没法测试,通过对楼主遇到问题的描述,估计问题出在两个方面,一是你的开发环境或者MDAC应该没坏吧?而是给你SQL SERVER数据库文件及其目录赋予ASP.NET和VSDEVELOPERS可以读写访问的权限了没有?
    另外在下面两句中加一条dr.Read();       SqlDataReader  dr  =  MyCommand.ExecuteReader();  
           DataGrid1.DataSource=dr;  如果还有问题,给我发消息,明天看,睡觉去也!
      

  2.   

    谢谢楼上的各位,开发环境应该没坏,直接用计事本写一个ASPX文件执行没有问题
      

  3.   

    在你的机是本写的程序开始加上:
    <%@ Page Language="C#" AutoEventWireup="True" %>
    表示自动启用页事件,就可以了。
      

  4.   

    楼上说的没错,AutoEventWireup应该设置为"True" 才能出发Page_Load事件。
      

  5.   

    楼主的代码我用VS2003测试过,因为没有楼主的数据库,所以改为NORTHWIND中ORDERS表测试的
    可以显示信息的。
    楼主的GUESTBOOK数据库中的liuyan表中有数据吗?
      

  6.   

    1、aspx中的Codebehind必须是test1.aspx.cs!
    <%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="test1.WebForm1" %>
    应该是:
    <%@ Page language="c#" Codebehind="test1.aspx.cs" AutoEventWireup="true" Inherits="test1.WebForm1" %>2、
    把AutoEventWireup设置为"True" 触发Page_Load事件。
      

  7.   

    我换了一台机器就一切OK了
    是不是安装的时候要先安装SQL Server,再安装VS.net
      

  8.   

    不是sql server 的问题应该
    安装的时候是不分先后的
      

  9.   

    vs.net中去掉AutoEventWireup="false"即可。
    记事本写的中,少了<%@ page %>指令
      

  10.   

    去掉AutoEventWireup="false",问题解决,谢谢大家。但在另一台机器上保留AutoEventWireup="false"是可以的。
      

  11.   

    AutoEventWireup应该设置为"True" 才能出发Page_Load事件。