我有一个页面 index.aspx 这个页面有两个 Web 用户控件 list.ascx 和 display.acsx 基本上 list.ascx 将 SharePoint 网站上可用的所有列表显示到一个下拉框中。第二个 Web 用户控件显示所选列表中所有文件的列表。但是我遇到的问题是我的问题是如何将下拉框的值从第一个 Web 用户控件转移到第二个。
谢谢
我有一个页面 index.aspx 这个页面有两个 Web 用户控件 list.ascx 和 display.acsx 基本上 list.ascx 将 SharePoint 网站上可用的所有列表显示到一个下拉框中。第二个 Web 用户控件显示所选列表中所有文件的列表。但是我遇到的问题是我的问题是如何将下拉框的值从第一个 Web 用户控件转移到第二个。
谢谢
鉴于您正在使用自定义 Web 控件,我发现将两个不同的控件作为依赖项本质上链接在一起是一个坏主意。反而:
在使用包含数据的事件参数适当引发的第一个控件上定义一个事件。
让包含的 index.aspx 页面具有此事件的处理程序。
在此处理程序中,在第二个控件上设置适当的属性,从事件参数传递数据。
这更加简洁,实现了您想要的并将两个控件彼此分离。
当值更改时,您的 list.ascx 需要将 ListId 回发到服务器
<select onchange="PostBackWithListId();" >
<option value="SomeListId">
</select>
jQuery 可以在这里提供帮助,或者您可以在服务器端使用 OnSelectedIndexChanged 和 AutoPostBack。
然后你的 display.acsx,只需要从请求中读取 ListId。
如果您只想粗暴地传递一次数据,不附加任何字符串:创建一个具有您要传递的数据类型的静态成员的类。在一个 ascx 文件中设置值并在第二个 ascx 文件中读取..