【问题标题】:value came from a form C# to Javascript值来自 C# 到 Javascript 的表单
【发布时间】:2014-02-28 04:29:37
【问题描述】:

我有一个 C# 表单。

用户填写表单,输入自己的姓名,当他点击提交按钮时,会显示确认页面,并在标签中显示他的姓名。

<asp:Label ID="name_user" runat="server">Label</asp:Label>

当显示此页面(确认页面)时,我想在头部方[&lt;head&gt;] 添加一个javascript;像这样:

<script>
dataLayer = [{
'transactionName': '" toto "'
"}]</script>

<script>
    dataLayer = [{
        'transactionName': '" name_user "'


        "}]</script>

如何将name_user 标签的值放入我的脚本中?

【问题讨论】:

    标签: c# javascript jquery asp.net label


    【解决方案1】:

    您可以尝试在那里简单地渲染页面:

    <script>
        dataLayer = [{
            'transactionName': '<%= name_user.Text %>'
        }];
    </script>
    

    或使用 jQuery 拉取它(注意 .NET 的控件 ID,它将父控件(命名容器)名称链添加到最终控件 ID,因此 $= 用法(以结尾):

    <script>
        dataLayer = [{
            'transactionName': $('[id$="name_user"]').text();
        }];
    </script>
    

    【讨论】:

    • +1。使用第一个示例时,不要忘记修复 Text 中的脚本注入/引号处理... 对于 jQuery,请确保获得正确的 ID(不记得如何/是否为标签生成)。跨度>
    • @AlexeiLevenkov:是的,我绝对同意。这至少应该是一个好的开始。
    【解决方案2】:

    要获取标签的值,您必须使用函数“html”。

    如果您使用 MasterPage,我们也使用控件的 ClientID

    $("#").html();

    【讨论】:

    • .html() 不仅返回元素值,还返回内部 HTML,包括任何子节点的任何标记。 .value() 只获取在这种情况下您想要使用的元素的值。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多