C# 开发aspx文件中js获取<asp:label>的数值

想要实现功能:依据窗口的某些参数,打开新窗口来展示其详细信息。

尝试了以下的三种方法,最终还是选择了【第一种】,剩下两种没有实现。

一、通过<a>标签的方式

在合适的位置,通过<a οnclick="OpenDetail('<%=Label.Text%>')">详情</a>;
或者<button οnclick="OpenDetail('<%=Label.Text%>')">详情</button>;触发点击事件,并传参,在js中接收即可。
<script type="text/javascript">
        function OpenDetail(e) {
           alert(e);
        }
    </script>

二、document.getElementById的形式报错,报错 “控件包含代码块(即<%……%>),因此无法修改控件集合” 。网络查询的方法,书写的没有问题,但是就是报错,没有解决(×)。有人说<%=EnabledFileType%>改为<%#EnabledFileType%>,这个我没尝试。也有人说将下面的js从head放到body中就可以了,我简单尝试了一下,不怎么行。还有人说需要在head头中增加 runat=“server” 属性,我也没尝试,或许真的可以。

<script type="text/javascript">
        function getLabelValue() {
            // 使用document.querySelector获取元素
            var label = document.querySelector('#<%= Label1.ClientID %>');
            if (label) {
                var value = label.innerHTML;
                alert('Label的值是: ' + value);
            }
        }
    </script>

三、通过按钮点击,在cs文件中书写按钮点击函数,这样不能精确传参了,功能上不符合要求(×)。 

<asp:Button ID="Button1" runat="server" Text="获取值" OnClick="Button1_Click" />
protected void Button1_Click(object sender, EventArgs e)
    {
        string labelValue = Label1.Text;
        Response.Write($"Label 的值为: {labelValue}");
    }
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="WebForm1.aspx.cs" Inherits="WebForm1" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title>用户注册</title> <style type="text/css"> .error { color: red; } </style> </head> <body> <form id="form1" runat="server"> <div> <label for="txtName">姓名:</label> <asp:TextBox ID="txtName" runat="server"></asp:TextBox> <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="txtName" ErrorMessage="用户必须填写" ForeColor="Red" Display="Dynamic"></asp:RequiredFieldValidator> </div> <div> <label for="txtPassword">密码:</label> <asp:TextBox ID="txtPassword" runat="server" TextMode="Password"></asp:TextBox> <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate="txtPassword" ValidationExpression="^.{8,}$" ErrorMessage="密码必须八位以上" ForeColor="Red" Display="Dynamic"></asp:RegularExpressionValidator> </div> <div> <label for="txtConfirmPassword">确认密码:</label> <asp:TextBox ID="txtConfirmPassword" runat="server" TextMode="Password"></asp:TextBox> <asp:CompareValidator ID="CompareValidator1" runat="server" ControlToValidate="txtConfirmPassword" ControlToCompare="txtPassword" ErrorMessage="两次密码必须一致" ForeColor="Red" Display="Dynamic"></asp:CompareValidator> </div> <div> <label for="txtPhone">手机号:</label> <asp:TextBox ID="txtPhone" runat="server"></asp:TextBox> <asp:RegularExpressionValidator ID="RegularExpressionValidator2" runat="server" ControlToValidate="txtPhone" ValidationExpression="^1[35789][0-35-9]\d{8}$" ErrorMessage="手机号格式不正确" ForeColor="Red" Display="Dynamic"></asp:RegularExpressionValidator> </div> <div> <label>请修正以下错误:</label> <asp:ValidationSummary ID="ValidationSummary1" runat="server" ShowSummary="true" ShowMessageBox="false" HeaderText="" CssClass="error"></asp:ValidationSummary> </div> <div> <asp:Button ID="btnRegister" runat="server" Text="注册" OnClick="btnRegister_Click" /> </div> </form> </body> </html>
05-12
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员WANG

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值