slo*_*ams 1 .net javascript c# asp.net
例如,当用户单击a时<button>,我知道服务器端的事件处理程序将执行.
但是客户端如何举办活动?由于初始页面(使用GET)在客户端纯粹是html,是由javascript引发的事件?
如果是,是否意味着.aspx会首先在客户端自动生成javascript代码?
例如,我在.aspx页面上有一个asp按钮:
<asp:Button ID="btnCalculate" runat="server" Text="Calculate" Width="122px" OnClick="btnCalculate_Click" />
Run Code Online (Sandbox Code Playgroud)
OnClick表示这是一个javascript事件,但在哪里可以找到适用的javascript代码?
<asp:{Control>}>是所有服务器端控件,您看到的onclick事件不是正确的HTML表示.
<asp:Button ID="btnCalculate" runat="server" Text="Calculate" Width="122px" OnClick="btnCalculate_Click" />
Run Code Online (Sandbox Code Playgroud)
会产生这样的远程:
<input id="btnCalculate" type="submit" value="Calculate"/>
Run Code Online (Sandbox Code Playgroud)
它指的是服务器上的回调(post/get请求),然后btnCalculate_Click()在View的asp.net c#代码(.aspx.cs)中定义调用:
public void btnCalculate_Click(object sender, EventArgs e){
...
}
Run Code Online (Sandbox Code Playgroud)
相比之下,这个c# ASPX代码将直接转换为相同的html "代码":
<button id="btnCalculate" onClick="btnCalculate_Click()"/>
Run Code Online (Sandbox Code Playgroud)
所以它会告诉客户端(浏览器引擎)寻找适用的javascript函数(例如在你site.js或任何其他提供的javascript资源中):
function btnCalculate_Click(){
alert("This is client side scripting");
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
280 次 |
| 最近记录: |