首先,我在我的程序前台页面中的 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;
}
}我是菜鸟 如果说的不清楚很抱歉,希望高手能帮我解决 呵~
<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;
}
}我是菜鸟 如果说的不清楚很抱歉,希望高手能帮我解决 呵~
解决方案 »
- 请问 想做个考试倒计时提示浮动窗口的形式,该如何实现呢?
- C# 程序+sql2000的完整打包过程
- 有没有办法强制一个事件发生?对了,还有,“某事件句柄-=”的右边应该写什么?能用来取消一个事件的触发函数吗?
- 关于C#操作Excel的问题 绝对值得一看!!!!
- 各位大哥帮一下忙
- 如何获取本地网络的SQL-SERVER机器名?
- UTF-8与ANSI编码的纯文本文件,一个字符也没有,用filestream的length来统计字节数,前者为3后为0怎么回事?
- mailmessage的问题
- 求 bulk insert问题的解决办法
- 如何用 Photoshop 把图片的一部分做成 .ico 的格式 希望大家帮忙
- vs2008如何获取屏幕分辨率
- 抠图的问题
string subject=String.Empty;
SqlCommand cmd=new SqlCommand(select *from subject where subject='"+subject+"',conn);用一个subject变量把你的查询条件带进去,每次查询出的结果绑定DropDownList不就好了?
<td colspan="2">
<asp:DropDownList ID="hp_grouInfo_gj_name" runat="server" RepeatLayout="Flow" RepeatColumns="5"
Width="100%" 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='hp_grou '"></asp:SqlDataSource>
</td>现在这个在页面上写的是直接棒定数据 可以判断显示或不显示 但是当我保存这个数据的时候 他在一次的显示为第一个值 肯定是因为我的SELECT [gj_name] FROM [gj_name] where subject='hp_grou ' 这个原因 但我后台的写不来 高手帮忙啊``注:{subject是数据库中 gj_name表中的一个 subject字段 , gj_name表中有3个字段 , 一个name_id 一个gj_name 一个subject } 而我现在上面页面上的代码 是直接绑定gj_name表中的 gj_name字段 所以我的DropDownList 显示的时候就是所有的名称 所以我想用 gj_name中 subject 字段做判断的显示数据
string subject=String.Empty;
SqlCommand cmd=new SqlCommand(select *from subject where subject='"+subject+"',conn); 用一个subject变量把你的查询条件带进去,每次查询出的结果绑定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] WHERE ([subject] = @subject)">
<SelectParameters>
<asp:Parameter DefaultValue="自己填认值" Name="subject" Type="你subject字段的数据类型" />
</SelectParameters>
</asp:SqlDataSource> 后台你声明一个string类型的subject变量用来记录查询条件的String suject=String.Empty;
this.SqlDataSource1.SelectParameters["subject"].DefaultValue =suject;//这个就是给参数的赋值语句
this.SqlDataSource1.DataBind();
再绑定你的DropDownList
<asp:Parameter DefaultValue="默认值" Name="subject" Type="你subject字段的数据类型" />
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using HHHSoftware.Jcjg_JM.BLL;
using System.Collections;
using HHHSoftware.Jcjg_JM.Common;
using HHHSoftware.Jcjg_JM.Model;public partial class UserControls_wtd_HP_Grou :UcBase
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
if (hp_grouInfo_gj_name.Text == "")
{
// ControlHelper.BindDropDownListWithInfo<gj_nameInfo>("subject='hp_grou'", hp_grouInfo_gj_name, "gj_name", "gj_name", new List<HHH.Base.DBParameter>());
}
else
{
}
//hp_grouInfo_gj_name.Items.Add();
} }
}
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传值啊: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();
不过这样每次刷新页面也会同样绑定出数据库中所有的数据。
哎 还是没懂你的意思,我也太菜了,领教了!