我是ASP.NET的新手,我想知道以下是否可行。 我有一个使用OldDbDataAadpter绑定到数据源(MS Access)的应用程序,并且工作正常但是,我希望能够根据用户输入(从下拉列表)显示许多表字段中的一个。这个想法是用户在运行时选择(可能的10种)语言中的一种语言,并让Gridview只显示该字段 如果你暂时可以忽略数据库的结构(这是一个遗留问题),那么该表有许多字段(索引,名称等等),然后是10种语言之一的字段(例如我们,de,es,fr等等。) 以下部分工作正常(变量" lang"在运行时从下拉列表中填充)
string qryStr = "select PIndex, TName, Component, " + lang " from MyTbles";
GlobalClass.adap = new OleDbDataAdapter(qryStr, con);
OleDbCommandBuilder bui = new OleDbCommandBuilder(GlobalClass.adap);
GlobalClass.dt = new DataTable();
GlobalClass.adap.Fill(GlobalClass.dt);
GridView1.DataSource = GlobalClass.dt;
GridView1.DataBind();
GlobalClass.cs如下: 公共类GlobalClass {
public static OleDbDataAdapter adap;
public static DataTable dt;
// Stored image path before updating the record
}
问题是ASP代码在绑定时似乎需要EXACT字段名。这是ASP文件的一部分:
Text='<%#Bind("Component") %>'
这显示了&#34;组件&#34;字段绑定到Gridview文本框。我的问题是: 是否可以在&#34; Bind&#34;中使用变量名称?以上部分?我希望这个ASP代码能够从.CS代码后面的部分中找到并解决变量 我不希望有人告诉我如何,但我想知道这是否可行(以及我应该关注的相关课程......) 非常感谢..
答案 0 :(得分:1)
为什么不做呢
string qryStr = "select PIndex, TName, Component, " + lang " as SelectedLang from MyTbles";
然后
Text='<%#Bind("SelectedLang") %>'