求教:在gridview的行中绑定DropDownList,DropDownList的数据源函数中怎么传参数? 20

比如,行模板:<asp:DropDownListID="gv_DDL_defaultSelected"runat="server"SelectedValue='<%#Ev... 比如,行模板:
<asp:DropDownList ID="gv_DDL_defaultSelected" runat="server" SelectedValue='<%# Eval("defaultSelected") %>' DataSource='<%# defaultSelectedDDLDS(id)%>' DataValueField="id" DataTextField="optionText"></asp:DropDownList>

这里的Id,就是本行数据的Id值,怎么把这个值传给后台绑定数据源的参数中?

后台C#
public SqlDataReader defaultSelectedDDLDS(string Id)
{
DAL.dbFunctions db = new DAL.dbFunctions();
Int32 id = Convert.ToInt32(Id);
return db.returnReader("select * from [yy8_systemSelectorOptions] where selectorId=" + Id, null);
}

简单说,就是DropDownList绑定的数据是有分类的,而defaultSelectedDDLDS函数绑定时要动态传分类的id,也就是该行数据的id

DataSource='<%# defaultSelectedDDLDS(Eval("Id"))%>'
这种方法也不行,也许根本就没有这种写法
展开
 我来答
niceUnimoon
2012-12-21 · 超过25用户采纳过TA的回答
知道答主
回答量:137
采纳率:0%
帮助的人:81.1万
展开全部
DataTable dt= new DataTable(); //建个DataTable 这里边放你从数据库里查来的表,表里面要有两样东西 要显示的文字 和 对应的 ID
然后
控件ID.DataSource = dt;
控件ID.DataTextField = "text"; //要显示内容的列名
控件ID.DataValueField = "cid";
控件ID.DataBind();
都写在page load里 外面加上if(!IsPostBack){}
大概是这么个意思。。嘿嘿

id type cid text
1 0 1 男
2 0 2 女
3 1 1 学生
4 1 2 老师
5 1 3 其他
这么查
查的时候从后台给type传值
"select cid, text from 表名 where type=" + type+" order by cid asc "
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式