Jquery 如何在asp.net-mvc中复制stackoverflow关闭按钮以替换确认页面

Jquery 如何在asp.net-mvc中复制stackoverflow关闭按钮以替换确认页面,jquery,asp.net-mvc,Jquery,Asp.net Mvc,我已经接管了一个asp.net mvc,我知道有很多操作需要用户确认。当前的实现是为每个确认页面提供一个单独的视图 我认为使用jquery在单击“delete user”(删除用户)时弹出一个小窗口(例如,显示用户确认信息)会更圆滑(“您确定要删除用户“xx”?) 我希望它的工作方式类似于您在stackoverflow问题上单击“关闭”时的工作方式。您将内联弹出窗口发送到confrim,然后提交 有什么建议从哪里开始吗?这还是另一个视图,还是应该将此代码嵌入到包含操作的常规视图中?我一直在玩弄j

我已经接管了一个asp.net mvc,我知道有很多操作需要用户确认。当前的实现是为每个确认页面提供一个单独的视图

我认为使用jquery在单击“delete user”(删除用户)时弹出一个小窗口(例如,显示用户确认信息)会更圆滑(“您确定要删除用户“xx”?)

我希望它的工作方式类似于您在stackoverflow问题上单击“关闭”时的工作方式。您将内联弹出窗口发送到confrim,然后提交

有什么建议从哪里开始吗?这还是另一个视图,还是应该将此代码嵌入到包含操作的常规视图中?我一直在玩弄jquery示例,但我觉得我仍然在猜测这里的最佳实践

所以我去查看stackoverflow的页面源代码,看看当你点击关闭按钮时会发生什么,但我看到的是:

<a id="close-question-1238657" title="closes/opens question for answering; when closed, no more answers can be added">close</a>
关闭

我看不出调用弹出窗口的是什么

看一看。

看一看。

除了jQuery UI对话框之外,您还可以通过尝试

编辑 confirm.js中给出的代码包含两个方法定义。一个是名为
confirm
的通用方法,该方法将创建带有要显示的消息的模式弹出窗口。无论何时创建模式弹出窗口,都必须使用此方法

confirm("Are you sure you want to delete this item?", function() {
    //Here you will write the code that will handle the click of the OK button.
});
在这里,第二个参数是一个函数(它的工作原理几乎与C#中的委托类似)。将发生的情况是,
confirm
函数将显示一个包含消息的对话框,当用户单击任何按钮时,将调用作为第二个参数传递的匿名函数。您还可以编写一个“普通”对话框“函数,并将其作为第二个参数传递给
confirm
-

function callbackHandler() {
    //Here you will write the code that will handle the click of the OK button.
}

confirm("Are you sure you want to delete this item?", callbackHandler);
这段代码将调用您的函数-

// if the user clicks "yes"
dialog.data.find('.yes').click(function () {
    // call the callback
    if ($.isFunction(callback)) { callback.apply(); }
    // close the dialog
    $.modal.close();
});

除了jQueryUI对话框之外,您还可以通过进行尝试

编辑 js中给出的代码包含两个方法定义。一种是名为
confirm
的通用方法,它将创建您想要显示的消息的模式弹出窗口。无论何时创建模式弹出窗口,都必须使用此方法

confirm("Are you sure you want to delete this item?", function() {
    //Here you will write the code that will handle the click of the OK button.
});
这里,第二个参数是一个函数(它的工作原理几乎类似于C#中的委托)。将发生的情况是,
confirm
函数将显示一个包含消息的对话框,当用户单击任何按钮时,将调用作为第二个参数传递的匿名函数。您还可以编写一个“普通”函数,并将其作为第二个参数传递给
confirm
-

function callbackHandler() {
    //Here you will write the code that will handle the click of the OK button.
}

confirm("Are you sure you want to delete this item?", callbackHandler);
这段代码将调用您的函数-

// if the user clicks "yes"
dialog.data.find('.yes').click(function () {
    // call the callback
    if ($.isFunction(callback)) { callback.apply(); }
    // close the dialog
    $.modal.close();
});

我喜欢confirm override按钮,但是confirmation屏幕中的数据和链接是在.js文件中硬编码的。是否还有其他方法可以传递这些数据?我喜欢“确认覆盖”按钮,但确认屏幕中的数据和链接在.js文件中是硬编码的。还有什么方法可以传递数据吗?嗯,我想你可以删除硬编码的消息,把它放在一个变量中,你可以从代码中设置它。我是一个javascript新手。在如何将变量传递到javascript函数方面,任何示例代码都是值得赞赏的。如果您谈论的是confirm.js,那么它仅作为示例给出!您可以复制代码,然后编写自己的代码。顺便说一句,你可以看看更新后的答案。嗯,我想你可以删除硬编码的消息,把它放在一个变量中,你可以从代码中设置它。我是一个javascript新手。在如何将变量传递到javascript函数方面,任何示例代码都是值得赞赏的。如果您谈论的是confirm.js,那么它仅作为示例给出!您可以复制代码,然后编写自己的代码。顺便说一句,你可以看看最新的答案。