实际上我不需要它。但是我的脑海中浮现出一点好奇心,因为没有调用为在服务器中运行而编写的事件处理函数。我已经拖动了一个 html 按钮元素并将其放在属性 runat="server" 的表单元素中
现在,如果我双击设计视图内的按钮,它会将我重定向到创建事件处理函数的 javascript 块。我删除了它并在文件后面的代码中编写了我自己的。现在,当在服务器上运行页面并单击按钮时,不会调用事件处理函数。
我希望它运行。反正 ?
您对两个不同的事件感到困惑:编辑器中提供的 onclick 是客户端点击事件,由 javascript 代码处理。
服务器端,基于 c# 的事件处理程序可以添加到这样的按钮,如果你用
runat="server"
,属性并向其添加服务器端处理程序(假设 Button1 是您的按钮的 id)
Button1.ServerClick += new EventHandler(Button1_ServerClick);
html 输入的标记不会公开服务器端事件以通过标记添加处理程序,但您可以在 page_load/init 事件中添加我在上面粘贴的代码
你的按钮是什么样的?试试这个:
<button runat="server" ID="myButton" onClick="YourFunction">My Button</button>
ASPX:
<button runat="server" id="htmlButton1" name="htmlButt" onserverclick="butt">
foo</button>
CS/代码隐藏:
protected void butt(object sender, EventArgs e)
{
Response.Write("butt clicked!");
}
您必须(手动)编写处理程序 - IDE 不会自动为您连接它(您自己使用onserverclick 连接它)。