用户控件或自定控件的问题

honjo 2004-10-14 11:21:55
有这样一个应用:
要从多个部门中选择人员,后放在一个datalist中(放选择结果),会在多个页面中使用,在使用的页面中要能通过后台代码取得datalist中的选择结果.
请问各位大哥两个问题
1、用“用户控件”,还是用“自定义控件”做比较合适,既能复用又能在用的地方取到选择的结果。
2、我用了“用户控件”,好象取不到选择的结果,我在用户控件中,写了一个public的属性,用于返回选择的结果,但是好象在使用的页面,得不到这个属性,是不是“用户控件”达不到这种效果,还是我的方法有问题?


...全文
143 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
honjo 2004-10-18
  • 打赏
  • 举报
回复
to : WZCNet(只有想不到,没有做不到)
那在使用的页面,阿是直接拖上去,然后再加这样的代码?
protected UserControl UserControl1;

//你想要的结果
UserControl1.GetDT;
这样的话UserControl1和用户界面上的(拖上去的那个)好象是两个实例歪,
如果界面上不拖的话,好象没法确定"用户控件"的位置?
WZCNet 2004-10-15
  • 打赏
  • 举报
回复
用户控件就可以实现,自定义控件写起来太麻烦啊.

public class UserControl
{
private DataTable _DT;

public DataTable GetDT
{
get
{
return _DT;
}
set
{
_DT = value;
}
}


private void GetDataSource()
{
DataTable dt = 你返回的结果;
DataList.DataSource = dt;
DataList.DataBind();

//这个属性包括你的数据结果
this.GetDT = dt;
}
}

//调用控件的页面

protected UserControl UserControl1;

//你想要的结果
UserControl1.GetDT;
honjo 2004-10-15
  • 打赏
  • 举报
回复
阿有谁能指点一二?
honjo 2004-10-14
  • 打赏
  • 举报
回复
to : xk2009(与君歌一曲)
你阿是用模式窗口,打开那个页面,然后返回一个串联起来的选择结果啦,但我想应该用"用户控件"也可以的吧,关键在怎么实例化用户控件,并能取得选择结果。
但我觉得,肯定的一点是,若“用户控件”能实现的话,那肯定要比“自定义控件”实现起来简单,各位大哥说,对吗?
Yangtzeliuyang 2004-10-14
  • 打赏
  • 举报
回复
页面调用用户控件时,代码中加一个this.controls.add('用户控件实例名'),看会不会使属性值有效
xk2009 2004-10-14
  • 打赏
  • 举报
回复
最简单的办法就是把选择用户的程序与在一个页面上。然后要用的话就调用这个页面。。可以用JAVASCRIPT返回所选择用户。。。。我就是这样用的
cancersyf 2004-10-14
  • 打赏
  • 举报
回复
在后台代码中你必须手动添加用户控件的声明:
protected UserControlClass UserControlClass1;
honjo 2004-10-14
  • 打赏
  • 举报
回复
用户控件中“选择”button的代码如下:
private void btnAdd_Click(object sender, System.EventArgs e)
{
for(int i=0;i<lstPeople.Items.Count;i++)
{
if(lstPeople.Items[i].Selected==true)
{
ListItem objItem=new ListItem(lstPeople.Items[i].Text,lstPeople.Items[i].Value);
lstResult.Items.Add(objItem);
_user.Add(lstPeople.Items[i].Value);
}
}
}

用户控件中属性的代码如下:
//获取选择的人员
private ArrayList _user=new ArrayList();
public ArrayList user
{
get
{
return _user;
}
}
在使用的页面中,我将控件直接拖到页面上,在后台代码中引用不到属性。

designonline 2004-10-14
  • 打赏
  • 举报
回复
用户控件”可以实现你的效果.不过如上述的.你的结果必须保存在cookies里,才能其他页面读取
goody9807 2004-10-14
  • 打赏
  • 举报
回复
show your code
Ly105 2004-10-14
  • 打赏
  • 举报
回复
都可以实现。

如果你写的没有错的话,(但是好象在使用的页面,得不到这个属性,)你可以直接写“.方法名。
有时候他就是不提示
522jack 2004-10-14
  • 打赏
  • 举报
回复
up
honjo 2004-10-14
  • 打赏
  • 举报
回复
to: xiaohutushen(xiaohutushen) ( )
我想控件复用的.
xiaohutushen 2004-10-14
  • 打赏
  • 举报
回复
用Session保存用户ID。
用后就释放。
Hunter 2004-10-14
  • 打赏
  • 举报
回复
up

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧