你確定你的朋友沒有使用DataSourceID屬性嗎?
下面是從MSDN的差:
當DataSourceID屬性設置(而不是數據源屬性),所述數據綁定控件自動綁定到在運行時數據源控件。
請看看this article和this one.
希望它幫助。
我花了一些時間來做一個小例子來證明你需要在一個普通的asp.net gridview上調用DataBind()來渲染它的數據。
如果你的朋友沒有調用它,我猜測他正在將網格綁定到.aspx代碼中的數據源(甚至是ObjectDataSource上的SQLDatasource),並且他正在修改代碼中的該數據源。
請看看下面的例子:
Default.aspx頁:
<%@ Page Title="Home Page" Language="C#" AutoEventWireup="true"
CodeBehind="Default.aspx.cs" Inherits="GridViewDemo._Default" %>
<form id="form1" runat="server">
<asp:gridview id="GridView1" runat="server">
<Columns>
<asp:BoundField DataField="ID" />
<asp:BoundField DataField="Name" />
</Columns>
</asp:gridview>
</form>
這個頁面的代碼隱藏:(這是在C#中,但我認爲這是有關VB作爲)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace GridViewDemo
{
public partial class _Default : System.Web.UI.Page
{
public class Entity
{
public int ID { get; set; }
public string Name { get; set; }
}
protected void Page_Load(object sender, EventArgs e)
{
List<Entity> source = new List<Entity>() { new Entity() { ID = 1, Name = "First" }, new Entity() { ID = 2, Name = "Second" } };
GridView1.DataSource = source;
GridView1.DataBind();
// if you comment this line and run, the gridview is not rendered
}
}
}
讓我知道這是否回答了您的問題。
請在您的問題中添加一些代碼。正如你寫的,你的問題很難理解 – SwissGuy
當然! @ZarNge。閱讀dataBinding文章 - http://support.microsoft.com/kb/307860 – adatapost
@Jon:非常感謝 – ZarNge