日期:2014-05-17  浏览次数:20453 次

DropDownList控件在DataList控件里面的绑定问题!
在DataList控件里面

我用了个DropDownList绑定用户类型!

是这样的!

因为用户的类型是 1 学生 2 商人 3 老板


我要从数据库读出来 <%# Eval("type_id")> 是 1 2 3 

但是我DropDownList控件是文字!

我要写个判断!

当用户类型ID等于1 就自动选择学生!!

当用户类型ID等于2 就自动选择商人!!

当用户类型ID等于3 就自动选择老板!!

我不知道怎么在aspx页面写 if语句!

后台代码页面用调用不到这个控件!、



求指教!!



------解决方案--------------------
public string test(int typeid)
{
switch (typeid)
{
case 1:
return "学生";
break;
case 2:
return "商人";
break;
case 3:
return "老板";
break;
default:
retrun null;
break;
}
}
是这个意思么
------解决方案--------------------
<%= test(Convert.ToInt32(Eval("type_id")))%>
------解决方案--------------------
你打断点看下进了test方法没有啊
------解决方案--------------------
<%# test(Convert.ToInt32(Eval("type_id")))%>
写错了不好意思 呵呵
------解决方案--------------------
楼上的可以解决。
------解决方案--------------------
protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
{
DropDownList ddl = e.Item.FindControl("DropDownList1") as DropDownList;
ddl.SelectedValue = "2"; 
}
------解决方案--------------------
这样就行了吗?



protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
{
DropDownList ddl = e.Item.FindControl("DropDownList1") as DropDownList;
ddl.DataSource = getTypes();
ddl.DataTextField = "Name";
ddl.DataValueField = "Id";
ddl.DataBind();
ddl.SelectedValue = "2";
}
------解决方案--------------------
你在数据库加一列不就好了吗。。不的话。查出来。重新构建一个datatable 再做为数据源绑定就是了。


------解决方案--------------------
其实方法很多
你可以在后台写个方法,如6楼的后台判断当前的值并重新赋值。
也可以在数据源修改
------解决方案--------------------
探讨
引用:
这样就行了吗?



protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
{
DropDownList ddl = e.Item.FindControl("DropDownList1") as DropDownList;
ddl.Data……

------解决方案--------------------
是不是绑定啊。selectvalue = int[1,2,3];selectText = string[”商人“ ,"学生","老板"]