在event receiver中如何弹出一个类似winform中messagebox.show 的框?
那我要对用户显示一些错误信息或者提示信息怎么搞?
|
1.
如果是在ItemAdding或者其他进行时(ing)事件里面,可以使用HttpContext.Current.Response.Write("<script>alert('aaaa');</script>");
如果是在ItemAdded或者其他结束后(ed)事件里面,那就没招。因为这类事件是异步的,已经获取不到页面的HttpResponse。
2.
可以在event reciver 里控制转向错误页面。
http://www.c-sharpcorner.com/Blogs/4224/sharepoint-2010-event-handler-redirection-to-custom-error-pa.aspx
properties.Status = SPEventRecieverStatus.CancelWithRedirectUrl;
Properties.RedirectUrl = “/_layouts/MyBlog/CustomError.aspx"
public override void ItemAdding(SPItemEventProperties properties)
{
base.ItemAdding(properties);
string tite = properties.AfterProperties[“title”].ToString();
if(tite.Contains(“_”))
{
properties.Cancel = true;
properties.Status = SPEventRecieverStatus.CancelWithRedirectUrl;
Properties.RedirectUrl = “/_layouts/MyBlog/CustomError.aspx?errormessage =Inavlid
Title”;
}
}
3.
Create a application page called customerror.aspx and show the error message from the query string
|
4.
Add the following code in the page load
|
5.
function openAnswerQandADialog() {
var options = {
url: "/_layouts/QandA_PersonalAnswer.aspx",
width: 600,
height: 480,
title: "个人QandA"
};
SP.UI.ModalDialog.showModalDialog(options);
}
用js调用这个函数吧,这个是sharepoint自己带的函数,使用请在webpart中引用sharepoint命名控件啊。