【问题标题】:Passing JQuery variable to code behind in asp.net将 JQuery 变量传递给 asp.net 中的代码
【发布时间】:2013-01-31 22:58:40
【问题描述】:

我一直在尝试将变量从 JQuery 函数传递到后面的代码中,以便我可以通过 SQL 语句将它输入到数据库中。但是,我似乎从来没有让变量通过。或者如果它正在通过,我似乎无法让它显示以确保它已经通过。谁能看到我的脚本有什么问题?

<script type="text/javascript">
  $(function () {
      var comment = $("#comment"),
      allFields = $([]).add(comment);
      $('#<%= hidden.ClientID %>').val(comment);


      $("#dialog-form").dialog({
          autoOpen: false,
          height: 300,
          width: 350,
          modal: true,
          buttons: {
              "Add Comment": function () {
                  var bValid = true;
                  allFields.removeClass("ui-state-error");
                  if (bValid) {
                      $("#comments tbody").append("<tr>" +
                        "<td>" + comment.val() + "</td>" +
                        "<td>" + "<%=currentUser%>" + "</td>" +
                        "</tr>");

                      $(this).dialog("close");
                      //                          
                  }
              },
              Cancel: function () {
                  $(this).dialog("close");
              }
          },
          close: function () {
              allFields.val("").removeClass("ui-state-error");
          }
      });

      $("#NewComment")
    .button()
    .click(function () {
        $("#dialog-form").dialog("open");

    });
  });  
    </script>  

这是我隐藏的输入字段:

<input id="hidden" type="hidden" runat="server" />

【问题讨论】:

    标签: jquery asp.net webforms


    【解决方案1】:

    我建议像这样使用实际的 Asp.Net HiddenField 控件:

    标记

    <div>
        <asp:HiddenField ID="hidden" runat="server" />
        <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />
    </div>
    

    代码背后

    protected void Button1_Click(object sender, EventArgs e)
    {
        string hidden = this.hidden.Value;
        Response.Write(hidden);
    }
    

    Javascript

    <script>
        $(document).ready(function () {
            $("#<%=hidden.ClientID %>").val("Hello, World!");
        });
    </script>
    

    输出:你好,世界!

    【讨论】:

    • 传递“你好世界!”工作正常。当我尝试传递变量“comment”时它不起作用。我有一个 JQuery 对话框弹出窗口,其中有一个输入字段和一个添加评论按钮。用户输入评论并点击按钮。我正在尝试从 JQuery 中检索评论变量。
    • 您并没有确切地提到您在问题中所谈论的变量。评论应该是comment.val()。什么是 var comment = $("#comment")?你也应该有一个“;”而不是那里的“,”。
    • var comment = $("#comment") 正在弹出对话框中获取输入字段的值。抱歉,弹窗内输入框的id是comment。
    • 我想我知道你现在想做什么了。但在我看来,“评论”是一张桌子。如果评论是一个表格,你想要隐藏字段内的表格的html吗?你这样做: $("#comment").html()
    • 感谢您的回答。它也对我有帮助.. :)
    【解决方案2】:

    你想用这条线做什么:$('#&lt;%= hidden.ClientID %&gt;').val(comment);? 你是不是错过了评论**.val()**之类的东西

    如果我是你,我还是会使用一个简单的处理程序并发出一个 ajax 请求。

    【讨论】:

      猜你喜欢
      • 2018-03-05
      • 1970-01-01
      • 2016-02-21
      • 2023-03-15
      • 2018-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-02
      相关资源
      最近更新 更多