在Javascript中执行ASP.NET 1.1代码

时间:2011-09-14 21:35:08

标签: javascript asp.net

当用户点击某个LinkBut​​ton时,我需要打开一个确认/取消确认对话框。如果用户点击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尝试了回发,但那些根本不起作用或者我无法弄明白。

我应该如何管理客户端/服务器端交互的这种组合?

谢谢

1 个答案:

答案 0 :(得分:1)

你的linkBut​​ton没有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?'");
        }
    }
}