博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
wss的webpart的3种开发方式(转载)
阅读量:6981 次
发布时间:2019-06-27

本文共 1645 字,大约阅读时间需要 5 分钟。

(转载,不过忘了来源了,呵呵)

开发webpart可以使用c#或者vb.net。本篇文章只介绍c#的开发方法。vb.net的如法炮制
1.直接使用c#代码开发:
        建立c#开发项目,在webpart1.cs中编写相应的代码。
protected override void CreateChildControls()
在这里写入要显示使用的控件(进行初始化)
protected override void CreateChildControls()
{ button1 = new Button();
   button1.Text = "   this.Controls.Add(button1);
 button1.Click +=new EventHandler(button1_Click);}
事件的定义可以写在后面由用户自行书写。
webpart中显示定义的控件
protected override void RenderWebPart(HtmlTextWriter output)
{
output.write("<b>书写现实的文字</b>");
button1.RenderControl(output);
}
编译项目后将dll文件拷贝到bin目录中。
导入dwp文件便可以使用制作的webpart了。
2、通过web usercontrol
建立asp.net项目,然后按照平常的习惯开发webusercontrol.ascx便可。
在已建立的webpart项目中添加刚才开发的webusercontrol.ascx去掉codebehind属性更改namespace和

Inherits。将ascx文件的生成操作改成“嵌入的资源”。

在webpart.cs中关键是保存刚才建立的控件。
protected override void CreateChildControls()
{
   using (StreamReader reader = new StreamReader

(System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream

("aspwebpart.mycontorl.ascx")))

{
    String resourceContent = reader.ReadToEnd();
    using (StreamWriter writer = new StreamWriter(this.Page.Server.MapPath

("/bin/mycontorl.ascx"), false))

{
     writer.Write(resourceContent);
}
}
   this._innerControl = this.Page.LoadControl("/bin/mycontorl.ascx");
   this.Controls.Add(this._innerControl);
}
最后在显示控件
  protected override void RenderWebPart(HtmlTextWriter output)
{
   this.EnsureChildControls();
   this._innerControl.RenderControl(output);
}
这样做事程序读出原文件并写到了("/bin/mycontorl.ascx"), 中所以必须对这个目录由读写权限。
3.使用kaneboy的wrappart包装器。
这种办法就是省去了第二种的将usercontrol加载道webpart项目中。
在服务器上安装包装器然后将开发好的usercontrol.ascx和他的dll放到相应的目录中。从叶面中选择相应的文件即可。

转载于:https://www.cnblogs.com/llbofchina/archive/2006/12/10/588054.html

你可能感兴趣的文章
记一次dll构建时机优化
查看>>
【译】Redis Hyperloglog 的转换
查看>>
mysql修改密码
查看>>
《以太坊白皮书》笔记(1)—— 比特币介绍
查看>>
babel es6 to es5
查看>>
【软件开发底层知识修炼】二 深入浅出处理器之二 中断的概念与意义
查看>>
electron打包更新与集成sqlite小总结
查看>>
CentOS 安装 pip
查看>>
React性能优化之代码分割
查看>>
Springmvc+mybatis+shiro+ZooKeeper+Redis+KafKa
查看>>
vue电商项目商品详情放大镜插件
查看>>
深入解析JSON与XML优缺点对比
查看>>
Java行为参数化(二)-Lambda表达式
查看>>
个人到账通知全量分析与总结(到账一时爽,一直到,一直爽~~)
查看>>
JavaScript 中如何实现对象的 deep clone
查看>>
Kotlin运算符重载及其他约定
查看>>
Android源码分析之 IntentService
查看>>
utilscoreJS 前端业务代码工具库(不定时更新)
查看>>
参观消防队社会实践活动,切身感受消防官兵的工作内容和日常生活安排
查看>>
iOS多线程开发:几个容易被忽略的细节
查看>>