在asp.net中的标签中显示jquery的结果

时间:2012-06-09 09:09:11

标签: javascript jquery asp.net json

我想在我的asp.net页面上的标签控件中显示此javascript的结果,而不是警告。我怎么能这样做?

<script type="text/javascript" language="Javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> <!-- Require EasyJQuery After JQuery --><script type="text/javascript" language="Javascript" src="http://api.easyjquery.com/easyjquery.js"></script> <script type="text/javascript" language="Javascript">
    // 1. Your Data Here
    function my_callback(json) {
        alert("IP :" + json.IP + " COUNTRY: " + json.COUNTRY);
    }

    function my_callback2(json) {

       alert("IP :" + json.IP + " COUNTRY: " + json.COUNTRY + " City: " + json.cityName + " Region Name: " + json.regionName);
    }

    // 2. Setup Callback Function
   // EasyjQuery_Get_IP("my_callback"); // fastest version
    EasyjQuery_Get_IP("my_callback2","full"); // full version
</script> 

4 个答案:

答案 0 :(得分:3)

使用动态ID

asp.net的标签控件默认呈现为span因此您可以通过ID查找此控件来设置内部文本,并使用text键入内部:

  $('#<%=txtLabel.ClientID%>').text("message");

使用静态ID

替代(版本4+)您可以在控件上设置ClientIDMode="Static",以便ID不会更改

<asp:Label runat="server" ID="txtName" ClientIDMode="Static">Test</asp:Label>

呈现为<span id="txtName">Test</span>并在其中写作

$('#txtName').text("message");

您的功能将是

function my_callback(json) {
    $('#txtName').text("IP :" + json.IP + " COUNTRY: " + json.COUNTRY);
}

function my_callback2(json) {
   $('#txtName').text("IP :" + json.IP + " COUNTRY: " + json.COUNTRY + " City: " + json.cityName + " Region Name: " + json.regionName);
}

答案 1 :(得分:1)

当您使用服务器端控件时,他们的客户端ID会发生变化。正如Aristos正确指出的那样,如果您使用(v4 +),则可以将ClientIDMode属性设置为static,以使其ID保持不变。 如果您的标签的ID是myLabel并且您设置了ClientIDMode=static,那么标签的ID将是myLabel本身。 否则,ID将呈现类似#ctl00_ContentPlaceHolder1_myLabel的内容。 这应该为你做的伎俩。

$('#<%= myLabel.ClientID %>').text("set whatever you need");

希望这会对你有所帮助。

答案 2 :(得分:0)

head runat="server">
    <script language="Javascript" type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>





<script language="Javascript" type="text/javascript" src="http://api.easyjquery.com/easyjquery.js"></script>

<script language=Javascript>
    function setup_ip(json) {
        var htmlx = " Your IP Address: <b>" + json.IP;
        htmlx += "</b> | Country: " + json.countryName;
        if (json.cityName != "Unknown" || json.regionName != "Unknown") {
            htmlx += " | City: " + json.cityName + " / " + json.regionName;
        } else {
            htmlx += " | Your Time: " + json.localTimeZone;
        }

        $("#myipx").html(htmlx);
    }

    $(document).ready(function() {


        EasyjQuery_Get_IP("setup_ip", "full");

    });
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <div class="inner">
<p class="welcome-message">
<a href="http://www.easyjquery.com/detect-get-clients-ip-address-country-using-javascript-php/"id="topid" title="Javascript, PHP jQuery API Detect Clients IP Address and Country - Geo Location"   ><asp:Label ID="myipx" runat="server"  ClientIDMode="Static"></asp:Label>Detecting Clients IP Address - Country - City</span></a>
<br />
<asp:Label ID="lbl1" runat="server"  ClientIDMode="Static"></asp:Label>
                </p>



            <!-- END #footer-texture -->
            </div>

    </div>
    </form>
</body>

答案 3 :(得分:-1)

找到标签的ID或名称,并设置如下文字:

$('label#myLabel').text('foo');