C# 需要类似Sharepoint的模式弹出窗口
我需要在网格视图中单击链接时显示类似Sharepoint 2010的弹出窗口。模式弹出窗口显示且用户选择后,应使用弹出窗口中的给定值更新保存按钮数据库。我怎样才能得到这个。任何想法 到目前为止,我使用下面的代码来获取它,但不知道一旦单击弹出窗口中的按钮,如何将值传递到数据库 注意:到目前为止,我没有在这里添加gridview代码,因为我想先用示例html实现它,然后用grid view实现它 Java脚本C# 需要类似Sharepoint的模式弹出窗口,c#,.net,popup,modal-dialog,sharepoint-object-model,C#,.net,Popup,Modal Dialog,Sharepoint Object Model,我需要在网格视图中单击链接时显示类似Sharepoint 2010的弹出窗口。模式弹出窗口显示且用户选择后,应使用弹出窗口中的给定值更新保存按钮数据库。我怎样才能得到这个。任何想法 到目前为止,我使用下面的代码来获取它,但不知道一旦单击弹出窗口中的按钮,如何将值传递到数据库 注意:到目前为止,我没有在这里添加gridview代码,因为我想先用示例html实现它,然后用grid view实现它 Java脚本 function openDialog() { var options = {
function openDialog() {
var options = {
html: divModalDialogContent, // ID of the HTML tag
// or HTML content to be displayed in modal dialog
width: 600,
height: 300,
title: "My First Modal Dialog",
dialogReturnValueCallback: dialogCallbackMethod, // custom callback function
allowMaximize: true,
showClose: true
};
SP.UI.ModalDialog.showModalDialog(options);
}
//Results displayed if 'OK' or 'Cancel' button is clicked if the html content has 'OK' and 'Cancel' buttons
function onDialogClose(dialogResult, returnValue) {
if (dialogResult == SP.UI.DialogResult.OK) {
alert('Ok!');
}
if (dialogResult == SP.UI.DialogResult.cancel) {
alert('Cancel');
}
}
// Custom callback function after the dialog is closed
function dialogCallbackMethod() {
alert('Callback method of modal dialog!');
}
HTML
<div id="divModalDialogContent">
Hello World!
<input type="button" value="OK"onclick="SP.UI.ModalDialog.commonModalDialogClose(SP.UI.DialogResult.OK, 'Ok clicked'); return false;"
class="ms-ButtonHeightWidth" />
<input type="button" value="Cancel"onclick="SP.UI.ModalDialog.commonModalDialogClose(SP.UI.DialogResult.cancel, 'Cancel clicked'); return false;"
class="ms-ButtonHeightWidth" />
<asp:Button runat="server" ID="btnClicked" Text="Clicked"
onclick="btnClicked_Click" />
你好,世界!
如何在单击弹出窗口中的“单击”按钮时调用db。我还需要向弹出窗口发送参数
提前感谢您可以使用Ajax控件工具包,然后您应该寻找模式弹出扩展程序 这样,您可以将.net控件添加到覆盖/模式覆盖中,并在代码中获取值 有关更多信息,请参见此处 SP弹出窗口
如果需要确定、取消或提交与Sharepoint列表/库或sql数据库交互的弹出屏幕上的按钮事件,则需要在弹出窗口中实现该事件。检查以下步骤:-
protected void EndOperation(int result, string returnValue)
{
string closeModal = String.Format(CultureInfo.InvariantCulture,
"<script type=\"text/javascript\">window.frameElement.commonModalDialogClose
({0}, '{1}');</script>", new object[] { result, returnValue });
this.Page.ClientScript.RegisterStartupScript(base.GetType(),
"CreatePopup", closeModal, false);
}
public event AddEventHandlerToSPDialogEvent ResultOk;
protected void CancelBtn_Click(object sender, EventArgs e)
{
try
{
int dialogResult = 0;
if (this.ResultOk != null)
{// Here dialogResult is 0. that means we have clicked on cancel button
ResultOk(this, new SPDialogEventHandler(dialogResult,"Action Cancelled"));
}
}
catch (Exception ex) { }
}
我同意,但我们的应用程序是sharepoint应用程序,希望使用模式弹出窗口,以便用户体验相同的sharepoint外观。无论如何,谢谢你。我已经为你添加了另一个链接。你之前被警告过,不要在没有透露你链接的网站是你的网站的情况下发布链接。此外,你似乎试图说这不是你的网站。我正在删除这个链接,不管怎么说,它似乎并不相关。在没有披露这是你的网站,并解释为什么它与回答所发布的问题直接相关的情况下,不要再添加它;不要在你的帖子中包含“签名”;您的用户框已用作您的签名。
public delegate void AddEventHandlerToSPDialogEvent(object sender, PDialogEventHandler e);
public class SPDialogEventHandler : EventArgs
{
public int dialogResult { get; set; } // 0 or 1
public string ReturnValues { get; set; } // can be url or any success/error message
public SPDialogEventHandler(int result, string list)
{
ReturnValues = list;
dialogResult = result;
}
}
public event AddEventHandlerToSPDialogEvent ResultOk;
protected void CancelBtn_Click(object sender, EventArgs e)
{
try
{
int dialogResult = 0;
if (this.ResultOk != null)
{// Here dialogResult is 0. that means we have clicked on cancel button
ResultOk(this, new SPDialogEventHandler(dialogResult,"Action Cancelled"));
}
}
catch (Exception ex) { }
}