首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

急救 DropDownList 的数据判断有关问题

2012-03-07 
急救DropDownList 的数据判断问题首先,我在我的程序前台页面中的DropDownList 空间是用asp:DropDownList

急救 DropDownList 的数据判断问题
首先,我在我的程序前台页面中的 DropDownList 空间是用
<asp:DropDownList ID="hp_grouInfo_gj_name" runat="server" RepeatLayout="Flow" RepeatColumns="5"
 Width="100%" AutoPostBack="True" DataSourceID="SqlDataSource1" DataTextField="gj_name" DataValueField="gj_name">
</asp:DropDownList>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
  ConnectionString="<%$ ConnectionStrings:Jcjg_JMConnectionString %>" 
  SelectCommand="SELECT [gj_name] FROM [gj_name]"></asp:SqlDataSource>

这个方法绑定数据的,但我想在后台写个方法 可以控制 这个控件里的数据由 subject决定  

注:{subject是数据库中 gj_name表中的一个 subject字段 , gj_name表中有3个字段 , 一个name_id 一个gj_name 一个subject }

而我现在上面页面上的代码 是直接绑定gj_name表中的 gj_name字段 所以我的DropDownList 显示的时候就是所有的名称 所以我想用 gj_name中 subject 字段做判断的显示数据

我的方法 :protected override void OnLoad(EventArgs e)
  {
  base.OnLoad(e);
  if (Request["subject"] != null && Request["subject"].ToUpper() == "HP_GROU")
  {
  hp_grouInfo_gj_name.SelectedIndex = 0;
  }
  else
  {
  hp_grouInfo_gj_name.SelectedIndex = 1;
  }
  }

我是菜鸟 如果说的不清楚很抱歉,希望高手能帮我解决 呵~



[解决办法]
页面都没有传值,后台用Request["subject"]有什么用?
[解决办法]
想用subject做条件直接
string subject=String.Empty;
SqlCommand cmd=new SqlCommand(select *from subject where subject='"+subject+"',conn);

用一个subject变量把你的查询条件带进去,每次查询出的结果绑定DropDownList不就好了?


[解决办法]
想用subject做条件直接 
string subject=String.Empty; 
SqlCommand cmd=new SqlCommand(select *from subject where subject='"+subject+"',conn); 

用一个subject变量把你的查询条件带进去,每次查询出的结果绑定DropDownList不就好了?
[解决办法]

C# code
<asp:DropDownList ID="hp_grouInfo_gj_name" runat="server" RepeatLayout="Flow" RepeatColumns="5" Width="100%" AutoPostBack="True" DataSourceID="SqlDataSource1" DataTextField="gj_name" DataValueField="gj_name"> </asp:DropDownList> <asp:SqlDataSource ID="SqlDataSource1" runat="server"   ConnectionString=" <%$ ConnectionStrings:Jcjg_JMConnectionString %>"   SelectCommand="SELECT [gj_name] FROM [gj_name] WHERE ([subject] = @subject)">   <SelectParameters>  <asp:Parameter DefaultValue="自己填认值" Name="subject" Type="你subject字段的数据类型" />  </SelectParameters></asp:SqlDataSource>
[解决办法]
探讨
8楼大哥 但是你这样绑定的话 我每次刷新页面 他保存的数据都不对啊```我要求保存我 需要的 但保存下来的数据却始终为下拉框中的第一个数据 ````

[解决办法]
13L那DefaultValue是自己填默认值,空也行
<asp:Parameter DefaultValue="默认值" Name="subject" Type="你subject字段的数据类型" />

[解决办法]
你想在后台控制不会SqlDataSource那就用代码进行绑定呀

C# code
try        {            string connStr = System.Configuration.ConfigurationManager.ConnectionStrings["connnane"];            System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection(connStr);            //System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand("select [name_id],[gj_name] from [gj_name] where subject='" + Request["subjectid"].ToString + "'", conn);            System.Data.SqlClient.SqlDataAdapter da = new System.Data.SqlClient.SqlDataAdapter("select [name_id],[gj_name] from [gj_name] where subject='" + Request["subjectid"].ToString + "'", conn);            System.Data.DataSet ds = null;            da.Fill(ds);            this.DropDownList1.DataSource = ds.Tables[0];            this.DropDownList1.DataTextField = "gj_name";            this.DropDownList1.DataValueField = "name_id";            this.DropDownList1.DataBind();        }        catch (Exception ex)        {        } 


[解决办法]
你定义变量名称都看不懂,这样很不好
你后台只需给前台的subject传值啊:

C# code
String suject=String.Empty;//保存你查询条件的变量this.SqlDataSource1.SelectParameters["subject"].DefaultValue =suject;//这个就是给subject传值this.SqlDataSource1.DataBind();DropDownList1.DataBind();
[解决办法]
看了楼上这么多,我还是没搞清楚你的意图。
通常我一般就是这样来做的 :
先一条Sql语句 查出表 gj_name 中的所有数据
然后 this.DropDownList.dataValueField=name_id ;
this.DropDownList.datatextField=gj_name ;
this.DropDownList.dataBind();
不过这样每次刷新页面也会同样绑定出数据库中所有的数据。
 哎 还是没懂你的意思,我也太菜了,领教了!
[解决办法]
还有 将 查询出来的表 this.DropDownList.datasource= table1;
[解决办法]
我建议你别直接在控件上绑定,在后台写代码吧,这样会比较好控制条件!

热点排行