using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data;
using Gethome.Model;
using Gethome.Web.UI.Control;
using Gethome.Common;
using System.Collections.Generic;namespace Gethome.Web.AddEvent
{
public partial class AddEvent2 : Gethome.Web.UI.Page.BasePage
{
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
}
这个方法到底是放在Page.IsPostBack里面还是外面,放在里面。我点击添加按钮列表就没了。下面还是没取出什么值
FriendBind();
}
listBox绑定方法
protected void FriendBind()
{
int UserID = this.GetUserID();
IList<FriendInfo> list = new Gethome.BLL.User.Friend().GerListFriend(UserID);
foreach (FriendInfo fd in list)
{
ListItem li = new ListItem();
li.Text = fd.userBasic.RealName;
li.Value = fd.userBasic.UserID.ToString(); ;
Lb_Friend.Items.Add(li);
}
}这个地方Lb_Friend.Items[i].Selected 一直是False,一直没进去。急死我了。
protected void SelectFrind_Click(object sender, EventArgs e)
{
string Participant = "";
string ParticipantId = "";
for (int i = 0; i < Lb_Friend.Items.Count; i++)
{
if (Lb_Friend.Items[i].Selected == true)
{
int UserID =Convert.ToInt32(Lb_Friend.Items[i].Value);
UserBasicInfo ub = new Gethome.BLL.User.User().GetUserBasic(UserID);
Participant += ub.RealName + ",";
ParticipantId += ub.UserID+",";
}
}
Txt_Participant.Text = Participant;
Hid_Participant.Value = ParticipantId;
}
}
}
大哥大姐们。看的说下了。那个绑定方法是不是有什么不对的。为什么一直是False,取不到值呀,
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data;
using Gethome.Model;
using Gethome.Web.UI.Control;
using Gethome.Common;
using System.Collections.Generic;namespace Gethome.Web.AddEvent
{
public partial class AddEvent2 : Gethome.Web.UI.Page.BasePage
{
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
}
这个方法到底是放在Page.IsPostBack里面还是外面,放在里面。我点击添加按钮列表就没了。下面还是没取出什么值
FriendBind();
}
listBox绑定方法
protected void FriendBind()
{
int UserID = this.GetUserID();
IList<FriendInfo> list = new Gethome.BLL.User.Friend().GerListFriend(UserID);
foreach (FriendInfo fd in list)
{
ListItem li = new ListItem();
li.Text = fd.userBasic.RealName;
li.Value = fd.userBasic.UserID.ToString(); ;
Lb_Friend.Items.Add(li);
}
}这个地方Lb_Friend.Items[i].Selected 一直是False,一直没进去。急死我了。
protected void SelectFrind_Click(object sender, EventArgs e)
{
string Participant = "";
string ParticipantId = "";
for (int i = 0; i < Lb_Friend.Items.Count; i++)
{
if (Lb_Friend.Items[i].Selected == true)
{
int UserID =Convert.ToInt32(Lb_Friend.Items[i].Value);
UserBasicInfo ub = new Gethome.BLL.User.User().GetUserBasic(UserID);
Participant += ub.RealName + ",";
ParticipantId += ub.UserID+",";
}
}
Txt_Participant.Text = Participant;
Hid_Participant.Value = ParticipantId;
}
}
}
大哥大姐们。看的说下了。那个绑定方法是不是有什么不对的。为什么一直是False,取不到值呀,
{//绑定数据}
可无刷新操作。在外面回传重新绑定
protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack)
return;
//在retrun 后面写你的操作
FriendBind();
}
if (!Page.IsPostBack)
{
}//如果出现你4楼所说的情况,请检查是否禁止了页面或该控件的状态保存属性
protected void SelectFrind_Click(object sender, EventArgs e)
{
Txt_Participant.Text =Lb_Friend.Items.Count.ToString();//你这里尝试显示下拉框的数据项看下,估计是0
}
{
}后,请检查一下页面的this.Page.EnableViewState=true;
然后再确保下拉控件的EnableViewState属性也为true
我放在if (!Page.IsPostBack)里面了。
还是那个老样子。我第一次进取。,列表都有值。我点击添加刷新下就没了。
并且 Lb_Friend.Items.Count这个地方居然是0了。我实在是看不出哪里出错了
事件会被再次执行,之所以让你把绑定数据放到if (!Page.IsPostBack) ,是防止再次绑定数据,否则会清空用户回送前的已选择操作,就想当于重新设置了下拉框的初始数据状态,就算用户已选择过,它还是默认选择第一项。
按你现在的情况,如果你确定在获取数据之前,都没有再次绑定数据的操作,则唯一的解释就是:你的这个下拉控件是动态添加的,而非在页面源码里显式声明(从工具上拖放)
//不过看你的代码,感觉不像是动态添加的控件