SharePoint Web用户控件DropDown框值帮助

时间:2011-01-29 19:04:32

标签: c# asp.net sharepoint-2007 webusercontrol

我有一个页面index.aspx这个页面有两个Web用户控件,list.ascx和display.acsx基本上是list.ascx将该SharePoint站点上可用的所有列表显示在下拉框中。第二个Web用户控件显示所选列表中的所有文件的列表。但是我遇到了问题,我的问题是如何将下拉框的值从第一个Web用户控件传输到第二个。

感谢

3 个答案:

答案 0 :(得分:3)

鉴于您使用的是自定义Web控件,我发现这是一个糟糕的主意,将两个不同的控件本质地链接在一起作为依赖项。代替:

  1. 使用包含数据的事件参数在第一个控件上定义一个事件。

  2. 让包含的index.aspx页面具有此事件的处理程序。

  3. 在此处理程序中,在第二个控件上设置适当的属性,从事件参数传递数据。

  4. 这更清洁,达到你想要的效果,并将两个控件彼此分离。

答案 1 :(得分:0)

您的list.ascx需要在更改值时将ListId回发到服务器

<select onchange="PostBackWithListId();" >
 <option value="SomeListId">
</select>

jQuery可以在这里提供帮助,或者你可以使用OnSelectedIndexChanged和AutoPostBack来实现服务器端。

然后你的display.acsx,只需要从请求中读取ListId。

答案 2 :(得分:0)

如果您只想粗暴地传递数据,则不附加任何字符串: 使用您要传递的数据类型的静态成员创建一个类。 在一个ascx文件中设置该值并读入第二个ascx文件..