当用户点击某个LinkButton时,我需要打开一个确认/取消确认对话框。如果用户点击OK,那么我需要从ASP.NET运行一个函数(更新数据库的东西)。
以下内容......
的Javascript
function openConfirm() {
return window.confirm("Are you sure you want to do this?");
}
ASP
<asp:LinkButton runat="server" CommandName="viewPart" onClick="if(openConfirm() === true) <% SomeASPFunctionCall() %>;">
Delete
</asp:LinkButton>
问题是我的应用程序正在运行ASP.NET 1.1,因此任何对控件添加OnClientClick
的引用都是无关紧要的(因为已经为ASP 2.0添加了OnClientClick
)。我已经通过__doPostBack和__eventObject和__eventArguments尝试了回发,但那些根本不起作用或者我无法弄明白。
我应该如何管理客户端/服务器端交互的这种组合?
谢谢
答案 0 :(得分:1)
你的linkButton没有ID,你确定吗?
给它写了一个ID,让我们想象它叫myLinkButton
(请不要使用此ID:D)
在Page_PreRender
中输入此代码:
myLinkButton.Attributes.Add("onClick", "return window.confirm('Are you sure you want to do this?'");
它是伪代码但是应该在.NET 1.1中构建和工作我认为,我从未使用过它...
编辑:在您的网格内,在ItemDataBound或RowDataBound事件中,具体取决于Framework和Grid版本......如下所示:
private void myDataGrid_ItemDataBound(object sender, DataGridItemEventArgs e)
{
if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
var myControl = (LinkButton)e.Item.FindControl("myLinkButton");
if(myControl != null)
{
myControl.Attributes.Add("onClick", "return window.confirm('Are you sure you want to do this?'");
}
}
}