我有一个手动填写的DataTable,即
newrow = dt.NewRow();
dt.Rows.Add(newrow);我试图通过将groupby链接到DataTable来从LinqDataSource (as shown by Matt)的LinqDataSource特性中获益,但这是不可能的。
有没有人有这方面的经验?
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
public class MyData
{
public MyData(){}
private DataTable dt = new DataTable("dt");
public DataTable MyTable
{
get { return dt; }
set { dt = value; }
}
}
protected void Page_Load(object sender, EventArgs e)
{
MyData mydata = new MyData();
mydata.MyTable.Columns.Add("column1");
DataRow dr = mydata.MyTable.NewRow();
dr[0] = "some data";
mydata.MyTable.Rows.Add(dr);
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<asp:LinqDataSource
ID="LinqDataSource1"
runat="server"
ContextTypeName="MyData"
TableName="MyTable">
</asp:LinqDataSource>
<asp:GridView ID="GridView1" runat="server" DataSourceID="LinqDataSource1">
</asp:GridView>
</form>
</body>
</html>发布于 2011-09-08 23:31:56
"dt“不是该表的名称尝试此操作
DataTable dt = new DataTable("dt");
然后尝试将该表命名为"dt“。
发布于 2011-09-08 23:32:24
不,那根本行不通。ContextTypeName属性需要是上下文(如LinqtoSql DataContext )的属性,TableName是在LinqToSql DBML文件中映射的数据库表的名称。你有没有尝试过关注你链接到的那篇文章,因为它给出了一个很好的让LinqToSQL走下去的概述。
https://stackoverflow.com/questions/7350326
复制相似问题