c# - ASP.NET Webforms 多个按钮
问题描述
我正在制作一个ASP.NET
Web 表单应用程序。我正在尝试一种简单的方法,可以访问表单上的多个控件。
我正在尝试访问html
按钮的serverClick
事件,但它一直没有工作,并且每页只能在一个按钮上工作。
我首先尝试使用此代码在单击 HTML 按钮时获取单击事件。这是 HTML 按钮的代码。
<form runat="server">
<div class="btn-container">
<a runat="server" onserverclick="infobutton_Click" class="inf-btn" exc-content="inf_button" id="infoButton">Click Here for More Information</a>
</div>
</form>
此代码获取按钮的单击事件并显示示例消息框。
Protected Sub infoButton_Click(ByVal sender As Object, ByVal e As EventArgs)
ScriptManager.RegisterClientScriptBlock(Me, Me.[GetType](), "alertMessage", "alert('" & "The Button Was Clicked" & "')", True) 'Displays a JavaScript Alert
End Sub
此代码适用于每页一个按钮,但是,我想在一页上使用多个按钮。如果我删除<form>
标签,按钮点击事件不会注册。如果我<form>
为每个按钮添加一个标签,它会报告一个错误,即不能有多个<form>
标签。如果我用标签括住整个页面<form>
,则错误报告配置“已损坏”。
如果我有一个 ASP.NET 按钮控件 ( ),这将很简单<asp:button>
,但我无法转换页面上的所有元素。
我不确定哪里出了问题,因为网上的所有信息都说它是正确的。有什么办法可以解决这个问题吗?
解决方案
<body>
<form id="form1" runat="server">
<div class="btn-container">
<a runat="server" onserverclick="infobutton1_Click" id="infoButton1">
Click Here for More Information</a>
<a runat="server" onserverclick="infobutton2_Click" id="infoButton2">
Click Here for More Information</a>
<a runat="server" onserverclick="infobutton3_Click" id="infoButton3">
Click Here for More Information</a>
</div>
</form>
</body>
代码背后 (C#)
protected void infobutton1_Click(object sender, EventArgs e)
{
ScriptManager.RegisterClientScriptBlock(this, Page.GetType(),
"alertMessage", "alert('" + "Button 1 Was Clicked" + "')", true);
}
protected void infobutton2_Click(object sender, EventArgs e)
{
ScriptManager.RegisterClientScriptBlock(this, Page.GetType(),
"alertMessage", "alert('" + "Button 2 Was Clicked" + "')", true);
}
protected void infobutton3_Click(object sender, EventArgs e)
{
ScriptManager.RegisterClientScriptBlock(this, Page.GetType(),
"alertMessage", "alert('" + "Button 3 Was Clicked" + "')", true);
}
推荐阅读
- laravel - 如何从 Laravel 5.8 的视图中将参数传递给 getFooAttribute() megic 方法
- c - 这段代码的输出是什么,你能解释一步一步的进展吗?
- python - 尝试使用 astropy 将 FITS 文件转换为 ndarray 时获取 NaN 值
- java - 运行 gradle clean build 时面临问题
- excel - 如何通过excel vba将值输入网站输入
- ember.js - dayJS 是否有任何“ember-moment-shim”替代方案?
- angular - 从 Angular 应用程序调用第三方 API 时无法传递客户标头选项
- pine-script - 根据条件定义入场价格
- c# - How to convert timezone offset text "+01:00" to timespan
- kotlin - Kotlin MPP - 无法解析 Stetho 拦截器