SliverLight读取SharePoint的图片库作为数据源
2011-01-12 16:45
316 查看
首先建立1个XML叫 clientaccesspolicy.xml
内容:
<?xml version="1.0" encoding="utf-8" ?>
<access-policy>
<cross-domain-access>
<policy>
<allow-from http-request-headers="*">
<domain uri="*"/>
</allow-from>
<grant-to>
<resource path="/" include-subpaths="true"/>
</grant-to>
</policy>
</cross-domain-access>
</access-policy>
然后丢入你的sharepoint网站下
代码部分:
public MainPage()
{
InitializeComponent();
this.Loaded += new RoutedEventHandler(Page_Loaded);
}
public void Page_Loaded(object sender, RoutedEventArgs e)
{
//这个sUrl是服务器版本的
string sUrl = "http://localhost:29089/_vti_bin/owssvr.dll?Cmd=Display&List={4579C6FD-16BE-4026-83EF-1969BE2CB1AF}&XMLDATA=TRUE";
WebClient sp = new WebClient();
sp.OpenReadCompleted += new OpenReadCompletedEventHandler(LoadData);
sp.OpenReadAsync(new Uri(sUrl,UriKind.RelativeOrAbsolute));
}
sUrl的格式是 http://【站名】/_vti_bin/owssvr.dll?Cmd=Display&List={List的Grid}&XMLDATA=TRUE
List的Grid可以在Sharepoint Designer中得到
void LoadData(object sender, OpenReadCompletedEventArgs e)
{
if (e.Error == null)
{
Stream stream = e.Result;
StreamReader streamReader = new StreamReader(stream);
string xmlStr = string.Empty;
while (streamReader.Peek() > -1)
{
xmlStr+= streamReader.ReadLine();
}
clientListImages = new List<ClientList>();
StringReader sr = new StringReader(xmlStr);
XDocument xdoc = XDocument.Parse(xmlStr);
//解析带命名空间的xml
XNamespace rs = "urn:schemas-microsoft-com:rowset";
XNamespace z = "#RowsetSchema";
IEnumerable<XElement> comments = xdoc.Descendants(z + "row");
foreach (XElement comment in comments)
{
XElement xelement = comment;
string imageIdStr= xelement.Attribute("ows_ImageId").Value;
int imageId = 0;
if (imageIdStr.Contains('.'))
{
string[] source = imageIdStr.Split('.');
imageId = Convert.ToInt32(source[0]);
}
else
{
imageId = Convert.ToInt32(imageIdStr);
}
ClientList clientListImage = new ClientList();
clientListImage.ImageId = imageId;
clientListImage.ImageName = xelement.Attribute("ows_ImageName").Value;
//if (xelement.Attribute("ows_RequiredField").Value.Contains("http"))
// clientListImage.ImageUri = new Uri(xelement.Attribute("ows_RequiredField").Value, UriKind.Absolute);
//else
// clientListImage.ImageUri = new Uri(xelement.Attribute("ows_RequiredField").Value, UriKind.Relative);
//这里也是服务器地址
clientListImage.ImageUri = new Uri("http://localhost:29089/" + xelement.Attribute("ows_RequiredField").Value, UriKind.Absolute);
clientListImage.ImageRedirectUrl = xelement.Attribute("ows_ImageRedirectUrl").Value;
clientListImages.Add(clientListImage);
}
ImagesListBox.ItemsSource = clientListImages.Skip((PageNumber) * PageIndex).Take(3);
}
就可以了
内容:
<?xml version="1.0" encoding="utf-8" ?>
<access-policy>
<cross-domain-access>
<policy>
<allow-from http-request-headers="*">
<domain uri="*"/>
</allow-from>
<grant-to>
<resource path="/" include-subpaths="true"/>
</grant-to>
</policy>
</cross-domain-access>
</access-policy>
然后丢入你的sharepoint网站下
代码部分:
public MainPage()
{
InitializeComponent();
this.Loaded += new RoutedEventHandler(Page_Loaded);
}
public void Page_Loaded(object sender, RoutedEventArgs e)
{
//这个sUrl是服务器版本的
string sUrl = "http://localhost:29089/_vti_bin/owssvr.dll?Cmd=Display&List={4579C6FD-16BE-4026-83EF-1969BE2CB1AF}&XMLDATA=TRUE";
WebClient sp = new WebClient();
sp.OpenReadCompleted += new OpenReadCompletedEventHandler(LoadData);
sp.OpenReadAsync(new Uri(sUrl,UriKind.RelativeOrAbsolute));
}
sUrl的格式是 http://【站名】/_vti_bin/owssvr.dll?Cmd=Display&List={List的Grid}&XMLDATA=TRUE
List的Grid可以在Sharepoint Designer中得到
void LoadData(object sender, OpenReadCompletedEventArgs e)
{
if (e.Error == null)
{
Stream stream = e.Result;
StreamReader streamReader = new StreamReader(stream);
string xmlStr = string.Empty;
while (streamReader.Peek() > -1)
{
xmlStr+= streamReader.ReadLine();
}
clientListImages = new List<ClientList>();
StringReader sr = new StringReader(xmlStr);
XDocument xdoc = XDocument.Parse(xmlStr);
//解析带命名空间的xml
XNamespace rs = "urn:schemas-microsoft-com:rowset";
XNamespace z = "#RowsetSchema";
IEnumerable<XElement> comments = xdoc.Descendants(z + "row");
foreach (XElement comment in comments)
{
XElement xelement = comment;
string imageIdStr= xelement.Attribute("ows_ImageId").Value;
int imageId = 0;
if (imageIdStr.Contains('.'))
{
string[] source = imageIdStr.Split('.');
imageId = Convert.ToInt32(source[0]);
}
else
{
imageId = Convert.ToInt32(imageIdStr);
}
ClientList clientListImage = new ClientList();
clientListImage.ImageId = imageId;
clientListImage.ImageName = xelement.Attribute("ows_ImageName").Value;
//if (xelement.Attribute("ows_RequiredField").Value.Contains("http"))
// clientListImage.ImageUri = new Uri(xelement.Attribute("ows_RequiredField").Value, UriKind.Absolute);
//else
// clientListImage.ImageUri = new Uri(xelement.Attribute("ows_RequiredField").Value, UriKind.Relative);
//这里也是服务器地址
clientListImage.ImageUri = new Uri("http://localhost:29089/" + xelement.Attribute("ows_RequiredField").Value, UriKind.Absolute);
clientListImage.ImageRedirectUrl = xelement.Attribute("ows_ImageRedirectUrl").Value;
clientListImages.Add(clientListImage);
}
ImagesListBox.ItemsSource = clientListImages.Skip((PageNumber) * PageIndex).Take(3);
}
就可以了
相关文章推荐
- js读取xml作为数据源填充四级联动下拉框
- C#读取Excel文件:通过OleDb连接,把excel文件作为数据源来读取
- C#读取Excel文件(通过OleDb连接,把excel文件作为数据源来读取)
- 读取jrxml文件生成JasperReport 子报表, javabean作为数据源
- Reporting Services 使用 SharePoint列表作为数据源的视图设置
- Demo: Dictionary>> 泛型读取XML文件数据作为数据源(DataSource)绑定到DropDownList控件 定义个一个公用类
- 一种在PowerPivot客户端中把SharePoint的PowerPivot作为数据源的方法!
- sharepoint 2010中将web part作为图表的webpart的数据源实现的一些具体步骤。
- java 读取XML文件作为配置文件
- 子查询作为数据源时是否需要表别名
- 第二章----3,使用数据库作为数据源
- WPF - 使用XML作为datagrid数据源进行binding
- 使用OleDb读取Excel所有的Table并用Sheet名称作为表名称
- .NET读取QQWry.Dat 纯真版ip数据库格式数据源
- .NET : 在单元测试中使用外部文件作为数据源
- JavaWeb项目动态导出Excel可弹出下载(基于POI和java反射机制,可选择导出项,读取数据库注释作为表头,可合计)
- birt使用java的pojo作为数据源
- 错误:当你使用id作为sharepoint的自定义页面的查询参数时,总会提示项目不存在!
- SharePoint 上传文件到图片库中代码
- Excel作为数据源