如果有人知道如何在smartpart中自定义属性。我创建了usercontrol并在smartpart中将其包装起来。我想从文档库上传我的xml。
private string feedXML;
[Browsable(true),
Personalizable(true) ]
public string FeedXML
{
get
{ return feedXML; }
set
{ feedXML = value; }
}
我正在使用它 //
feedXML="\customxml.xml";
XPathDocument doc = new XPathDocument(Server.MapPath(feedXML));
但是这件事没有用。当我点击修改共享webpart的sharepoint页面时没有渲染。任何我出错的线索。
答案 0 :(得分:0)
你确定这是正确的吗?
feedXML="\customxml.xml";
也许,你想要的是:
feedXML="\\customxml.xml"; //escape the back-slash.
或
feedXML="/customxml.xml"; // use the forward-slash.
无论如何,如果您只想将用户控件包装在Web部件中,则不需要SmartPart。您可以很容易地自己编写自定义Web部件。
答案 1 :(得分:0)
您可能想验证server.mappath语句的结果。它会像C:\ Inetpub ...... 因此,您的代码正在尝试从真正位于SharePoint中的文件系统中检索文件,因为您已将其上载到文档库。
如果您想要该文件,则必须使用SharePoint对象模型检索它,请查看GetFileAsString method。
我同意丹尼..
似乎Smartpart只会让它变得更难?它有什么优势?
我为ascx控件制作了自己的webpart容器..非常少的工作和你需要的所有控件。信任设置也没有问题。