21

我是在 asp.net 中开发以制作网站的新手。

asp:Button输入按钮和输入按钮有什么区别?

代码1
aspx代码

<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />  

代码隐藏

protected void Button1_Click(object sender, EventArgs e)
{
    //Do somthing
}  

代码 2
aspx 代码

<input id="Submit1" type="submit" value="submit" onclick="return Submit1_onclick()" />  


<script language="javascript" type="text/javascript">
// <![CDATA[

function Submit1_onclick() {
    //Do somthing
}

// ]]>
</script>
4

5 回答 5

24

第一个代码是服务器端代码。当您asp:button在 web 表单中添加标签时,asp.net 将为您呈现一个标签input type="button",当您单击此按钮时,它会将帖子提交到同一页面(这称为postback)并处理生命周期和 asp.net 事件与此按钮相关联。这同样适用于每个服务器控件,例如TextBoxes(render input type='text')、Panels(renders divs)、Checkboxes(render input type='checkbox')、Labels(render spans) 等...

在第二个代码中,您拥有第一个将呈现的代码 (an input type = 'button'),但与客户端 javascript 中的事件相关联。

您还可以在标签中关联客户端事件,asp:button查看OnClientClick属性。

于 2013-01-13T18:30:53.770 回答
6

第一个是服务器端控件,事件处理程序在 C# 中的服务器上执行。单击按钮将导致回发,并且表单中的所有信息都将被发布到服务器进行处理,包括对单击事件处理程序的调用。

第二个是完全客户端,事件处理程序在浏览器中以 JavaScript 执行。

于 2013-01-13T18:29:57.173 回答
6

asp:Button是一个asp.net 服务器控件,它在服务器端触发一个事件。

<input id="Submit1" type="submit"

是提交类型的客户端按钮,但它也可以通过添加来充当服务器端按钮

runat="server"onserverclick="eventname"

于 2013-01-13T18:41:30.423 回答
4

据我了解,您必须记住,将执行一个客户端代码,例如浏览器中的 javascript,以及将在服务器上执行的 asp/c# 代码。

所以有这个控制:

 <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" /> 

Button1_Click 将在服务器上执行,在微软世界中它是 IIS,另一方面,您只有一个纯 html 控件,您可以在其中为 click 事件连接一个 javascript 函数

 <input id="Submit1" type="submit" value="submit" onclick="return Submit1_onclick()" /> 

所以服务器端与这部分无关,这段代码将在你的机器上,在你的浏览器中执行。

于 2013-01-13T18:31:27.697 回答
3

A mi me funcionó así:

1.- En el botón:

 <input type="submit" id="btnAccept" value="Log In" runat="server" onserverclick="btnAccept_Click">

2.- En el 代码隐藏:

Protected Sub btnAccept_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
于 2013-04-03T09:56:43.880 回答