BLL.User user = new BLL.User();
ArrayList allUser = user.AllUser();//数据层返回的是 Model中的UserName和PassWord的ArrayListArrayList ddlData = new ArrayList();
foreach( Model.User userMode in allUser)
{
ListItem listItem = new ListItem();
listItem.Text = userMode.UserName;
listItem.Value = userMode.PassWord;
ddlData.Add(listItem);
}
ddl.DataSource = ddlData;
ddl.DataBind();
问 ddl.SelectedValue.ToString(); 为什么总是UserName,而不是 PassWord???我看网页源代码时<option value="admin">admin</option>value值应对应password(userMode.PassWord)的值,而不是UserName的值
我先后用:
1.ddl.Items.Add(new ListItem(userMode.UserName,userMode.PassWord)); 一样的问题2.
BLL.User user = new BLL.User();
ArrayList allUser = user.AllUser();
string[] aa = (string[])allUser.ToArray(typeof(string));
ddl.DataSource = aa;
ddl.DataBind();这行出错 string[] aa = (string[])allUser.ToArray(typeof(string));源数组中至少有一个元素无法被向下转换到目标数组类型。
以上都不行。
附数据模型:public class User
{
private string _username;
private string _password; public string UserName
{
get
{return _username;}
set
{_username = value;}
} public string PassWord
{
get
{return _password;} set
{_password = value;}
}
}
ArrayList allUser = user.AllUser();//数据层返回的是 Model中的UserName和PassWord的ArrayListArrayList ddlData = new ArrayList();
foreach( Model.User userMode in allUser)
{
ListItem listItem = new ListItem();
listItem.Text = userMode.UserName;
listItem.Value = userMode.PassWord;
ddlData.Add(listItem);
}
ddl.DataSource = ddlData;
ddl.DataBind();
问 ddl.SelectedValue.ToString(); 为什么总是UserName,而不是 PassWord???我看网页源代码时<option value="admin">admin</option>value值应对应password(userMode.PassWord)的值,而不是UserName的值
我先后用:
1.ddl.Items.Add(new ListItem(userMode.UserName,userMode.PassWord)); 一样的问题2.
BLL.User user = new BLL.User();
ArrayList allUser = user.AllUser();
string[] aa = (string[])allUser.ToArray(typeof(string));
ddl.DataSource = aa;
ddl.DataBind();这行出错 string[] aa = (string[])allUser.ToArray(typeof(string));源数组中至少有一个元素无法被向下转换到目标数组类型。
以上都不行。
附数据模型:public class User
{
private string _username;
private string _password; public string UserName
{
get
{return _username;}
set
{_username = value;}
} public string PassWord
{
get
{return _password;} set
{_password = value;}
}
}
解决方案 »
- 再次提问小问题
- IIS7.5+ASP.Net配置的最小权限
- 在aspnet mvc中,网站首页怎么搞呀?
- 我的ActiveX控件被Mcafee当病毒杀了,其他杀毒则不会!
- 怎么比较一个对象的类型是否是制定的类型
- 博客园新手团队,邀请您的加入!
- 怎样能使dropdownlist下拉的Items的滚动条变宽????
- 在aspx.cs中用javascript出问题?奇怪!
- XML,DataSet,SqlDataAdapter
- webpart parttitle 能否visible=false;
- 不知道曾经在哪里看到别人说,安装后的vs.net2003 本身就带有几套例子, 请问在哪里呢? 找不到啊
- 怎么样在asp.net的cs后台代码中转到另外的页,而且原来的页仍保持打开。response.redirect好像不行。
ArrayList ddlData = new ArrayList();
foreach( Model.User userMode in allUser)
{
ddl.Items.Add(new ListItem(userMode.UserName,userMode.PassWord));
}
{
ListItem listItem = new ListItem();
listItem.Text = userMode.UserName;
listItem.Value = userMode.PassWord;
ddlData.Add(listItem);
}改成foreach( Model.User userMode in allUser)
{
ddl.Items.Add(new ListItem(userMode.UserName,userMode.PassWord));
}
然后把
ddl.DataSource = ddlData;
ddl.DataBind();
这些去掉,先注释掉,运行看看,能获得值不?
中的allUser这个里面有值UserName,PassWord对应的。不知为什么?
只要
ddl.DataSource = ddlData;
ddl.DataBind();
去掉就行了,代码改不改无所谓!
listItem.Text = userMode.UserName;
listItem.Value = userMode.PassWord;
对应的值!
ddl.DataSource = ddlData;
ddl.DataBind();
去掉就行了,代码改不改无所谓!好了。多谢 hackate(兰花开香入梦境,独思佳人亦飘然!!) 和 withjun(withjun) 改日好好学习!