如何将变量从JavaScript传递到ASP

时间:2020-03-06 13:49:00

标签: javascript asp.net webforms

我不太确定自己在做什么错。我想将变量从JS函数传递到ASP,然后单击按钮在控制台中将其打印。

JS函数:

<script>
    function can() {
        var candy = "Chocolate";
        document.getElementById("Hidden1").value = candy;
    }
</script>

ASP.net:

<form id="form1" runat="server">

    <div>
        <input id="Hidden1" type="hidden" runat="server" />
        <asp:Button ID="Button1" runat="server" OnClientClick="can()"  Text="Button"
            onclick="Button1_Click" />
    </div>
</form>

<script runat="server">
    protected void Button1_Click(object sender, EventArgs e){

        Response.Write(Hidden1.Value);
    }

</script>

1 个答案:

答案 0 :(得分:1)

您将aspx.cs文件放在错误的位置,应该放在.cs文件中。您应该尝试如下操作:

Aspx:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebFormTest.WebForm1" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>

    <form id="form1" runat="server">  

     <div>
        <input id="Hidden1" type="hidden" runat="server" />
        <asp:Button ID="Button1" runat="server" OnClientClick="can()"  Text="Button"
            onclick="Button1_Click" />
    </div>
    </form>

     <script>
        function can() {
        var candy = "Chocolate";
        document.getElementById("Hidden1").value = candy;
    }
</script>

</body>
</html>

Aspx.cs:

 protected void Button1_Click(object sender, EventArgs e)
        {

            Response.Write(Hidden1.Value);
        }

Test Result:

enter image description here

How To Get It Worked:

根据您的评论:您将拥有WebForm1.aspx页如果将其展开,则会得到WebForm1.aspx.cs文件,只需粘贴您的cs文件即可正常工作。

有关更多信息,请参见屏幕截图:

enter image description here

我已经测试并按预期工作。

相关问题