3

我想在我的 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

4 回答 4

4

使用动态 ID

asp.net的标签控件默认呈现为span所以你可以通过ID找到这个控件来设置里面的文本,并使用textas在里面输入:

  $('#<%=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);
}
于 2012-06-09T09:19:59.550 回答
1

当您使用服务器端控制其客户端 ID 更改时。正如 Aristos 正确指出的那样,如果您使用的是(v4+),您可以将ClientIDMode属性设置为static使其 ID 保持不变。如果您的标签 ID 是 myLabel 并且您设置ClientIDMode=static了,那么标签的 ID 将是 myLabel 本身。否则,ID 会呈现为这样的内容#ctl00_ContentPlaceHolder1_myLabel。这应该为您解决问题。

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

希望这对您有所帮助。

于 2012-06-09T09:17:44.373 回答
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>
于 2012-06-16T09:15:05.747 回答
-1

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

$('label#myLabel').text('foo');
于 2012-06-09T09:13:28.177 回答