ASP.NET如何在客户端上引发事件?

时间:2017-05-31 10:56:00

标签: javascript c# asp.net .net

例如,当用户点击<button>时,我知道服务器端的事件处理程序将会执行 但是客户端如何举办活动?由于初始页面(使用GET)在客户端纯粹是,因此引发的事件是什么?

如果是,是否意味着 .aspx 将首先在客户端自动生成代码?

例如,我在 .aspx 页面上有一个按钮:

 <asp:Button ID="btnCalculate" runat="server" Text="Calculate" Width="122px" OnClick="btnCalculate_Click" />

OnClick表示这是事件,但我在哪里可以找到适用的代码?

2 个答案:

答案 0 :(得分:5)

<asp:{Control>}>是所有服务器端控件,您看到的onclick事件不是正确的表示。

<asp:Button ID="btnCalculate" runat="server" Text="Calculate" Width="122px" OnClick="btnCalculate_Click" />

会产生类似这样的东西:

<input id="btnCalculate" type="submit" value="Calculate"/> 

指服务器上的回调(发布/获取请求),然后调用View 代码(.aspx.cs)中定义的btnCalculate_Click()

public void btnCalculate_Click(object sender, EventArgs e){
   ...
}

相比之下,此 ASPX代码会直接转换为相同的“代码”:

<button id="btnCalculate" onClick="btnCalculate_Click()"/>

因此,它会告诉客户端(浏览器引擎)查找适用的函数(例如,在您的site.js或任何其他提供的资源中):

function btnCalculate_Click(){
    alert("This is client side scripting");
}

答案 1 :(得分:0)

我认为你必须修改Client-Server-Paradigm

客户端发出请求,然后服务器接受此请求 结果,服务器向客户端发送“回答”(响应),然后由客户端接收。