点击按钮添加一个ListItem后控制页面的转向问题
* 本篇用于将一些学习的东西记录下来,以免忘了,也可理解为学习笔记,高手请跳过,谢谢。
一般来说我们在点击添加一个ListItem的按钮之后在URL中没有传入Source参数的情况下会自动转向到该列表目录的AllItems.aspx页面。
有时候我们不需要这种墨守成规的操作,因此我们会做一些自定义设置,比如跳转到一个Thanks Page。
这里我用上一篇的方式将一个列表的添加部分以WebPart的形式添加到我们的站点首页(这里添加到任何地方都可以,关键是需要一个Custom List Form WebPart),看看效果:
(图片有点大,实在对不起),利用Designer查看OK按钮,我们发现这是一个SaveButton控件,或许大家认为修改它的RedirectURL属性就可以解决问题,但这样没有任何作用。
解决这种问题的办法有很多,但其中一种就是添加Form Action Button,还有比如说事件、在URL中添加Source参数等。
我们现在只用第一种方式,先隐藏OK按钮:
然后在工具箱中选择SharePoint控件下的Form Action Button并添加到OK按钮位置:
设置为表单操作为提交,点击“确定”:
定位到该按钮的Code视图,修改OnClick客户端事件:
在__commit之后添加;__redirect={URL}即可,URL即添加ListItem之后转向到的位置,详细情况见这里。
该方式最大的缺陷在于不能进行表单验证。