【发布时间】:2011-10-06 15:42:49
【问题描述】:
我已经四处寻找实现这一点的方法。这是我所拥有的伪代码表示:
bool hasData = ItemHasData(itemid);
Confirm = "false"; // hidden variable
if (hasData)
{
//Code to call confirm(message) returns "true" or "false"
if (Confirm == "true")
{
//Delete item
}
else if (Confirm == "false")
{
return;
}
}
调用confirm 的代码使用asp:Literal 控件并将其设置为与confirm 相同。我可以得到弹出窗口,但只有在函数退出后。并且它对之后的条件没有任何作用。
普遍的共识似乎是在该特定行调用 javascript 是不可能的(由于服务器端/客户端的差距,这是有道理的),但我该如何实现呢?我尝试使用 ASP.NET AJAX Toolkit 中的 ConfirmButtonExtender,但是当对象设置为 runat="server" 时,我无法与后面代码中的 confirmbuttonextender 对象进行交互。
编辑:
抱歉,我确实错过了这些花絮。谢谢伊卡洛斯。
控件本身就是GridView(伪版其实是来自gvData_RowCommand函数)的rowcommand。第一个检查是查看 CommandName 是否为 DeleteItem,如果是,则进入此检查。
gvData 的列是根据传递的标题列表(和数据集)设置的,因为它正在处理的表是针对具有不同所需信息的多个项目。 gvData 的数据在那里,我只需要得到一个是/否(或者实际上它最终会是确定/取消)对话框来验证他们想要在有数据时删除该项目。
【问题讨论】:
-
在不知道我们在谈论什么样的控件以及如何将数据绑定到它的情况下很难给你示例代码
-
我不知道使用其他方法,例如ModalPopup 作为 ConfirmBox,使其在代码隐藏(
Show)中可见,退出函数,处理弹出窗口的事件并根据用户在那里选择的内容执行您需要的任何操作。
标签: javascript asp.net ajax confirm