【问题标题】:Passing value between Javascript and ASP.NET C# not working在 Javascript 和 ASP.NET C# 之间传递值不起作用
【发布时间】:2015-12-09 16:59:00
【问题描述】:

在制作网站时,我遇到了一个问题。因为我动态创建了一个“详细信息”按钮,所以我需要使用隐藏值来查看“加载时”按钮是否已被单击。

Wegpage + Jquery 部分:

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
    <link href="css/assortiment.css" rel="stylesheet" />
    <script src="js/jquery.js"></script>
    <script type="text/javascript">
        function detailKlik()
        {
            var hid = $('#<%=hd.ClientID %>');
            hid.val("true");
        }
    </script>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
    <asp:HiddenField ID="hd" runat="server" Value="abc"/>
...

每当我按下动态生成的按钮时,我都可以看到 javascript 运行正常。 I can see the original value in the element.

I can even see the "Value" value is changing.

但是当我在我的 c# 代码中调试时,HiddenField 的值又回到了原来的值。

谢谢你:)

【问题讨论】:

  • 我对您的问题并不完全清楚,但我认为您不能从客户端 (Javascript/jQuery) 代码中操作服务器端 (C#) 代码。
  • 您是否查看过浏览器使用 F12 工具向 ASP.NET 页面发送的内容?更新的值是否正在发送到服务器?
  • @DaveB 当我在 Chrome 中使用 F12 工具并查看元素时,我可以看到值已更改为 true
  • @B.ClayShannon 我只是想在 HTML 代码中操作一个元素。在 C# 中,我试图通过相同的元素获取此值。奇怪的是 HTML 代码中的值正在改变......但是当我请求 C# 中的值时,它没有改变。我注意到该值始终与起始值相同...
  • @JasperCallens 检查 F12 工具中的网络选项卡并检查发送到服务器的内容。如果这是一个 HTTP POST 操作,您正在寻找请求正文。试图确定更改的值是否正在发送到服务器。

标签: javascript c# jquery asp.net hiddenfield


【解决方案1】:

我发现了问题。因为我试图在protected void Page_Init(...) 方法中访问对象的值,所以我总是得到默认值。 当我访问例如 Page Load 中的值时,我看到了正确的值。

谢谢!

【讨论】:

  • 欢迎来到 StackOverflow!在 2 天的等待期结束后,考虑将您自己的答案标记为“已接受”。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-01
  • 2014-06-02
  • 1970-01-01
  • 2016-09-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多