2014-09-03 90 views
0

嗨,我有一个问题,共享点的Web部分 所以我想调用消息框每次用户输入是错误的 因此,例如,如果用户输入密码超过15会有消息框“Password lenght max 15” 当我写 Messagebox.show(“密码长度最大15”)它工作正常,但如果我尝试填充密码超过15比它返回错误,说共享点不能支持消息框 所以我想知道是否有一种方法使用消息框中的分享点 任何帮助将不胜感激 仅供参考我把Messagebox.show放在我的保存按钮中点击 谢谢 对不起,如果我的英语是b广告Message Box Sharepoint Web部件

+0

Messagebox = Forms(例如桌面应用程序),完全不同的东西。这不是真正的SharePoint相关。要显示提醒,您需要javascript,例如警报( '测试')。 – Boland 2014-09-04 00:15:44

回答

1

ASP.NET应用程序中不支持消息框在Sharepoint中非常相似。

SharePoint支持MessageDialog。

SP.UI.ModalDialog.showModalDialog(options) 

如果要打开通过服务器端,然后你需要创建JS的功能,并调用它通过C#或者如下

hyperLink.NavigateUrl = "javascript:SP.UI.ModalDialog.ShowPopupDialog('" + url + "')"; 

您可以发送适当的字符串,以及使用的选项。

1

这可能是旧帖子,但接受的答案在Sharepoint 2013中不起作用,至少对我而言。相反,我要使用这个脚本:

<script ID="callMyFunction"> 
    function myFunction() { 
     var element = document.createElement('div'); 
     element.innerHTML = 'Hello World, I am the dialog content'; 
     var options = {} 
     options.title = "Name of dialog"; 
     options.width = 400; 
     options.height = 300; 
     options.html = element;//MSDN states it should be string, which is wrong. This is supposed to be DOM element 

     SP.SOD.execute('sp.ui.dialog.js', 'SP.UI.ModalDialog.showModalDialog', options);//This starts function "showModalDialog" after loading "sp.ui.dialog.js", if it was not loaded yet. 
    } 
</script> 

,并从我的WebPart这样称呼它:

Page.ClientScript.RegisterStartupScript(this.GetType(), "callMyFunction", "myFunction()", true); 

如果你想使用阿里穆尔塔扎的回答,请记住下面的加载脚本,因为它似乎默认情况下不加载:

<script type="text/javascript" src="_layouts/15/sp.ui.dialog.js"></script>