在讨论业务的实现时,前辈们最喜欢说的一句“实现是肯定行的,如果MP不行就写控件”,那么控件怎么写?又怎么在MP中使用?最后又是怎样测试写好的控件?
下面由本小白为大家做一个简单的讲解。
1 控件编写
1.1 在VS中创建项目,文件--》新建--》项目--》类库
1.2 重命名Class1.cs为test1.cs
1.3 编写代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace yxd_test
{
public class test1
{
public String testInput(String str)
{
String re="您输入的是:"+str+".";
return re;
}
}
}
2 将控件放入项目
2.1 复制dll文件
右击项目名称“yxd-test"-->在windows资源管理器中打开文件夹,
在弹出的文件夹中选bin--》Debug--》复制”yxd-test.dll“文件。
2.2 在客户端根目录创建Plugin文件夹(使用ExceutePlugin需要将插件上传到客户端的Plugin文件夹中)。
如果在ExecutePlugin使用控件的上传时,还是提示没有Plugin文件夹,就在服务器的根目录创建Plugin文件夹。(原因:你的客户端使用的是智能连接)
2.3 客户端根目录--》Web--》bin--》粘贴”yxd-test.dll“文件。(BS预览调用所调用的插件都从bin中获取)
2.3 远程服务器--》服务根目录--》Web--》bin--》粘贴”yxd-test.dll“文件。(调用的插件都从bin中获取)
3 设计表单与规则
3.1 表单内容:一个文本框、一个按钮
3.2 规则:ExecutePlugin、ShowMsgBox
4 附加到进程
4.1 BS预览调试
4.1.1 启动BS预览
4.1.2 VS调试--》附加到进程--》勾选”显示所有用户的进程“与”显示所有会话中的进程“。
4.1.3 选择”
EAP.WebDev.WebServer40.exe"
4.1.4 开始调试
4.2 页面调试(PS:该调试只适合部署在本地)
4.2.1 登陆页面
4.2.2 VS调试--》附加到进程--》勾选”显示所有用户的进程“与”显示所有会话中的进程“。
4.2.3 选择“
w3wp.exe"
4.2.4 开始调试
5 附加是否成功
5.1 不成功,原因dll文件没有放进对应的文件夹中。具体操作请看2.或者没有更新dll文件(如果文件被修改,必须更新MP中的文件)
5.2 成功
5.3 开始调试
5.4 调试结束
源代码下载:
http://download.csdn.net/detail/yy228313/8859377
感谢邓露文同事。