【问题标题】:Set value of asp:HiddenField in Client side and Get that value in Server side在客户端设置 asp:HiddenField 的值并在服务器端获取该值
【发布时间】:2016-06-16 10:51:24
【问题描述】:

我无法在 aspx 网页中设置 asp:HiddenField 的值并在后面的 C# 代码中获取该值。

HTML 简要代码

<head>
  <script type="text/javascript">
    function getData() {
      markerData = [ <%= getMarkerData() %> ];
    }

    function showData() {
      ...
      getData();
      ...
    }
  </script>
</head>

<body>
  <form id="form1" runat="server">
    <asp:hiddenfield id="hfvarFrom" runat="server" />
    <asp:hiddenfield id="hfvarTo" runat="server" />
    <div class="panel panel-primary" id="divInformation" style="width: 300px;">
      <div class="panel-body" style="height: 650px;">
        <div class="form-group">
          <asp:button id="btnLoadData" runat="server" class="btn btn-warning btn-block" text="LOAD DATA" onclientclick="javascript:showData(); return false;" usesubmitbehavior="false" />
        </div>
      </div>
    </div>
  </form>
  <script>
    $(document).ready(function() {
      $('#<% =btnLoadData.ClientID %>').click(function(e) {
        $('#<% =hfvarFrom.ClientID %>').attr('value', '2016-06-14');
        $('#<% =hfvarFrom.ClientID %>').attr('value', '2016-06-14');
      });
    });
  </script>
</body>

C#简要代码

protected String getMarkerData()
{
    String from = hfvarFrom.Value;
    String to = hfvarTo.Value;
    return getMarkerObjects(from, to);
}

我有 2 个 asp:HiddenField 和一个 asp:Button。调用 OnClientClick 时,showData() 将调用 getData(),当然,还会运行其他函数。 getData() 将在后面的代码中调用 getMarkerData()。 问题是,我无法从后面的代码中获取 HiddenField 的值。相反,一切正常。

请给我一些建议,因为我是网络编码的新手

谢谢大家

【问题讨论】:

  • 您是从后面的代码中调用getMarkerData 吗?它叫什么?
  • 是的,它被调用了。唯一在这里不起作用的是 hfvarFrom.Value。它总是什么都不返回。

标签: c# asp.net hiddenfield


【解决方案1】:

背后的代码:

protected void Page_Load(object sender, EventArgs e)
{
}

protected void btnOK_Click(object sender, EventArgs e)
{
    string from = hfvarFrom.Value;
    string to = hfvarTo.Value;
}

.ASPX:

<head runat="server">
    <title></title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.3/jquery.min.js"></script>
    <script type="text/javascript">
        $(function () {
            $('#<%=hfvarFrom.ClientID %>').val("2016-06-14");
            $('#<%=hfvarTo.ClientID %>').val("2016-06-15");
        });
    </script>
</head>
<body>
    <form id="form1" runat="server">
        <asp:HiddenField ID="hfvarFrom" runat="server" />
        <asp:HiddenField ID="hfvarTo" runat="server" />
        <asp:Button ID="btnOK" runat="server" Text="OK" OnClick="btnOK_Click" style="height: 29px; width: 37px" />
    </form>
</body>

【讨论】:

  • 感谢您的建议。但是使用这段代码,我可以将值返回给我的 markerData,因为我需要将值附加到这个 markerData = [ ];
  • 只需更改按钮单击事件背后的代码以调用该方法或类似的东西。我给了你设置隐藏字段值的代码,可以从后面的代码中访问,现在它起来了让您进行其余的更改,以确保它以您想要的方式工作
  • 是的,我自己也弄明白了。所需的值将在 OnClick 函数中分配并传递给在重新加载页面时调用的 getMarkerObjects()。谢谢
猜你喜欢
  • 1970-01-01
  • 2014-12-29
  • 2016-04-12
  • 1970-01-01
  • 2014-05-10
  • 1970-01-01
  • 1970-01-01
  • 2021-05-06
  • 2018-05-15
相关资源
最近更新 更多