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