【问题标题】:Dynamically binding datasource to a gridview将数据源动态绑定到网格视图
【发布时间】:2013-07-11 08:03:24
【问题描述】:

我收到此 c# 代码的错误

if (radioAll.Checked)
{
       SqlDataSource DataSource2 = new SqlDataSource();
       DataSource2.ID = "SqlDataSource2";
       this.Page.Controls.Add(DataSource2);
       DataSource2.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["SEP_Project_NewConnectionString2"].ConnectionString;
       DataSource2.SelectCommand = "SELECT courseNo,title from Course";
       gridview_modules.DataSource = DataSource2;
       gridview_modules.DataBind();
}

错误如下

连接字符串没问题。如何解决此错误?

【问题讨论】:

  • 因为我现在在工作,所以我看不到图像。您能否将错误发布为文本?
  • 无法确定元表。无法为数据源 '' 确定 MetaTable,并且无法从请求 URL 中推断出一个 MetaTable。确保表映射到数据源,或者数据源配置了有效的上下文类型和表名,或者请求是注册的 DynamicDataRoute 的一部分。

标签: c# asp.net gridview sqldatasource


【解决方案1】:

你必须从你的SqlDataSource中选择一些东西

gridview_modules.DataSource = DataSource2.Select(DataSourceSelectArguments.Empty);
gridview_modules.DataBind();

【讨论】:

  • 感谢您的回复,我将列更改为 BoundField 并且有效
【解决方案2】:

修改了gridview的列字段

以前是这样的,

<Columns>
  <asp:DynamicField HeaderText="Course No" />
  <asp:DynamicField HeaderText="Title" />
</Columns>

然后我就这样改了,

<Columns>
 <asp:BoundField DataField="courseNo" HeaderText="Course No" />
 <asp:BoundField DataField="title" HeaderText="Title" />
</Columns>

【讨论】:

    猜你喜欢
    • 2013-10-21
    • 1970-01-01
    • 1970-01-01
    • 2017-09-26
    • 2011-01-01
    • 2016-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多