日期:2014-05-18  浏览次数:21068 次

急救 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.