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

display results of jquery in a label in asp.net

本文关键字:显示 jQuery 结果 net asp 标签      更新时间:2023-09-26

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

使用动态 ID

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

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

使用静态 ID

替代 (VRE 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);
}

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

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

希望这对你有帮助。

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>

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

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