【跪求】sharepoint 初始化时添加事件的方法
能不能捕获新建listitem的event?(不是item adding,也不是itemAdded)
具体需求是这样的:在用户对某个list点击“新建”的时候,即需要捕获该新建事件,并获取这个新的listitem。 尝试过itemadding,这个事件比较滞后(在新建item出来,填写完毕点“OK”的时候才触发,满足不了我的需求)。有没有大牛知道怎么解决我的需求。。。
因为我们的页面上有个list,需要用户每天填写日志,用户每次都需要输入自己的用户名,觉得很麻烦,希望能够在点“new item”的时候,就自动在“user name”那个栏里面把用户名输入(用户名可以通过事件里的数据自动获得)。
基于以上背景,我需要在用户点击“new item”之后就截获这个点击事件,然后给“user name”栏赋值,然后新的页面才显示给用户。
[解决办法]
ItemEventReceiver, google 一下
[解决办法]
列表的设置启用内容类型,
设计好你在新建的模版(INFOPATH,ASPX,....等格式),当然注意提升字段为域字段,
在INFOPATH中来自动绑定出来当前用户。
这样你在新建LISTITEM时就会根据你自己的内容类型来创建.
[解决办法]
你的用户名具体怎么来?如果前台能够获得,你可以用Javascript来自动给控件赋值。
大致步骤是:
1. 在新建item的页面url后面加上 toolPaneView=2,这样可以进入的定制化页面。
2. 加入Content Editor Webpart,并进入源代码界面。
3. 这样,你可以直接在源代码编辑器里面嵌入javascript。
3. 获取你要输入UserName的那个webcontrol (通常,这个控件的ID就是你这个字段的internalname)
4. 获取到相应的空间后,就可以给这个控件赋值。这个值就是你要输入的用户名。至于用户名是如何拿到,就要看你的实际情况了。
[解决办法]
晕.....
1.在这个List 建一个字段,字段名:UserName 类型:Single line of text (单行文本)
2.在下面的 Default value (默认值) 点击 Calculated Value (计算值)
3.在下面的textbox 填写 "=Me"
[解决办法]
简单点,用jq:$("a:contains('Welcome')").text().substr(8),然后赋值到指定控件中,比如people picker类的,这样只要点击后面的check names按钮就可以了