ASP.NET Gridview文本框在运行时绑定到变量

时间:2014-11-05 21:18:02

标签: c# asp.net .net asp.net-mvc gridview

我是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代码后面的部分中找到并解决变量 我不希望有人告诉我如何,但我想知道这是否可行(以及我应该关注的相关课程......) 非常感谢..

1 个答案:

答案 0 :(得分:1)

为什么不做呢

string qryStr = "select PIndex, TName, Component, " + lang " as SelectedLang from MyTbles";

然后

Text='<%#Bind("SelectedLang") %>'