6

我有一个 ASP.NET 应用程序,它将用于显示来自服务器的有关供水公司各个站点的信息。我有一个 jQuery 方法,它返回在 div 'info' 中单击的超链接的文本:

<script type="text/javascript">
        $('#info a').click(function getName()
        {
            return ($(this).text());
        });
</script>

我可以使用代码使用 C# 代码隐藏调用此方法

ScriptManager.RegisterStartupScript(this, this.GetType(), "script", "getName()", true);

但是我无法获得它的返回值,这正是我所需要的。任何人都可以对此有所了解吗?

4

3 回答 3

7

使用隐藏字段:

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

和 JQuery (没有测试过这个):

<script type="text/javascript">
        $('#info a').click(function getName()
        {
            $("#myhiddenField").val($(this).text());
        });
</script>

然后你就可以在后面的代码中访问隐藏字段了myhiddenField.Value

或者,如果您想使用 Ajax Call,请参阅此处的教程

编辑 :

我创建了一个小项目,以下对我来说很好(我收到警报“测试”):

 <script type="text/javascript">
        $(document).ready(function () {
            $('#info a').click(function getName() {
                // As control having runat="server" their ids get changed
                // selector would be like this 
                $("#<%= myhiddenField.ClientID %>").val($(this).text());
                alert($("#<%= myhiddenField.ClientID %>").val());
            });
        });
</script>

<div id="info">
  <a href="#">testing</a>
</div>
<input type="hidden" id="myhiddenField" name="myhiddenField" runat="server" />
于 2013-10-01T09:08:37.103 回答
1

文档准备好后,您需要从 ASP.NET 中的 JavaScript 触发按钮单击事件

像这样

ScriptManager.RegisterStartupScript(this, this.GetType(), "script", "$(function() {
$( ‘#info a
‘ ).click(); });
", true);

有关更多详细信息,请参阅Click()

于 2013-10-01T09:07:20.710 回答
-1

在后面的代码上尝试这个调用 Javascript 函数

ClientScript.RegisterStartupScript(GetType(), "Javascript", "javascript:FUNCTIONNAME(); ", true);

如果你有 UpdatePanel 然后试试这样

ScriptManager.RegisterStartupScript(GetType(), "Javascript", "javascript:FUNCTIONNAME(); ", true);

更新答案:

客户端: 创建一个函数并将值设置为隐藏字段作为客户端,并在服务器端调用此函数并获取隐藏字段值

JS:

  function myFunc(){
     //set you value to hiddenfield
     $(".hdfiled").val("Hello");
      alert($(".hdfiled").val());
    }

代码背后:这里是从服务器端调用myFunc,因为您的标题说调用函数来自 CODE BEHIND

ClientScript.RegisterStartupScript(GetType(), "Javascript", "javascript:myFunc(); ", true);
string getHd_Value=  myhiddenField.value;

JS FIDDLE 检查隐藏字段值

于 2013-10-01T08:55:38.640 回答