在用户控件之间传递数据
本文关键字:数据 之间 用户 控件 | 更新日期: 2023-09-27 18:14:43
我遇到了一个问题。
我有一个DB表Things(id,name,description)
.
在违约。我做一个"select name from Things"到SqlDataReader,然后我把它绑定到一个列表框。
现在我有了一个列表框,里面有来自Things的所有名字。
我想做的是:当选择一个列表框行,然后点击旁边的按钮,传递所有的信息从行(id,名称,描述)到一个ListView行,它旁边的权利。我的问题是,当我选择列表框行,我只得到了名称,我不想做一个"select * from things where name=x",因为可能有相等的名称在表中。
使用下一个ListBox控件定义:
<asp:ListBox ID="lbSample" runat="server" DataSourceID="dsSample"
DataTextField="name" DataValueField="id"></asp:ListBox>
通过这种方式,您可以轻松地获得name属性以及id。
简单但"不干净"的解决方案是从表中选择所有内容:
Select [id], [name], [description] from Things
然后将所有这些作为每个项目的值,例如用|
字符分隔。
现在将此值传递给ListView并在需要时解析它,通过|
拆分以获得所需的单个数据。(Id, name, description)
这样你就不必再查询数据库了,但是这样做并不优雅,而且会有用户"伪造"数据的风险,因为你依赖的是客户端数据。