首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 企业软件 > 行业软件 >

webpart程序权限有关问题

2012-02-26 
webpart程序权限问题我自己写了个webpart,SPQuery太麻烦了,为了写查询语句方便,我引用了别人写的一个dll文

webpart程序权限问题
我自己写了个webpart,SPQuery太麻烦了,为了写查询语句方便,我引用了别人写的一个dll文件(封装好了一些SPQuery查询方法),一把dll文件放入assembly中了,但是一运行就报错,求兄弟们给个解决办法。
部分代码如下

C# code
                        string queryStr = "SELECT * FROM MyList001 WHERE ID>1";                        FriendlyQuery query = new FriendlyQuery(web, queryStr);                        query.Scope = FriendlyQuery.QueryScope.AllItems;                        gridview.DataSource = query.GetItems().GetDataTable();                        gridview.DataBind();

,运行就报
HTML code
Title:System.Security.SecurityException: 该程序集不支持部分受信任的调用方。 在 MyWebPart.WebPartTest.BindGridView() 在 MyWebPart.WebPartTest.GridViewLoad(Object sender, EventArgs e) 在 System.Web.UI.Control.OnLoad(EventArgs e) 在 System.Web.UI.WebControls.DataBoundControl.OnLoad(EventArgs e) 在 System.Web.UI.Control.LoadRecursive() 在 System.Web.UI.Control.AddedControl(Control control, Int32 index) 在 System.Web.UI.ControlCollection.Add(Control child) 在 MyWebPart.WebPartTest.CreateChildControls() 失败的操作是: LinkDemand 失败的程序集的区域是: MyComputer



如果改为SPQuery就不报错。
C# code
                            SPQuery spquery = new SPQuery();                            spquery.Query = string.Format("<Where><Geq><FieldRef Name='{0}' /><Value Type='Counter'>{1}</Value></Geq></Where>", "ID", "1");                            gridview.DataSource = list.GetItems(spquery).GetDataTable();                           gridview.DataBind();


[解决办法]
你需要在webconfig里添加你的DLL 信息 或者加到GAC中 重新启动IIS
[解决办法]
你要把你的web part所在的dll强签名后,放入GAC,并且在web.config中添加类似下面的东东:
XML code
      <SafeControl Assembly="YouAssemblyName, Version=1.0.0.0, Culture=neutral, PublicKeyToken=84dd8b59e2770812" Namespace="YouNamespaceName" TypeName="*" Safe="True" /> 

热点排行