2011-10-16 50 views
2

如何让服务器运行?客户端点击事件代替后面的代码

javascript: 
function confirm_delete() 
{ 
    if (confirm("Are you sure you want to delete?")==true) 
    return true; 
    else 
    return false; 
} 

ASP

div.Attributes.Add("onclick", "return confirm_delete();"); 
+0

你似乎已经做到了。 –

+0

它不在服务器上运行?也许我说错了。 –

+3

没有JavaScript仅在客户端上运行。 –

回答

1

为了捕捉在服务器端的事件,您需要使用runat="server"

<form runat="server"> 
    <asp:Button id="button1" Text="Click me!" runat="server" OnClick="confirm_delete" /> 
</form> 

事件处理程序本身需要在后面的代码。我不记得在ASP.net中是否支持JScript,但是confirm肯定不是。

要在服务器上运行此操作,您需要重构应用程序。您需要使用confirm_delete函数来渲染带有确认其操作的表单的页面。这并不是很糟糕,因为你可以将它隐藏在那里。 confirm_delete会隐藏正常内容并显示确认表单。确认表单需要有“OK”或者取消按钮,也可以挂接到执行删除操作(我假设这是服务器OnClick已经连线的位置)的后端事件处理程序,或者将您带回到完整页面视图。

它比JavaScript确认弹出框要复杂得多,但它的操作并不可怕。