如何使用windows phone 8 c#中的jQuery列表功能

how to use windows phone 8 c# list in jQuery function

本文关键字:中的 jQuery 列表 功能 何使用 windows phone      更新时间:2023-09-26

我想在Windows phone浏览器控件中构建手风琴菜单。为此,我解析了一个rest-service,并将其放在一个列表中。现在我想在我的html页面jQuery函数访问该列表。为此,我使用下面的代码,但我不能在我的jQuery函数中读取列表值。

代码:

private void browser_ScriptNotify(object sender, NotifyEventArgs e)
{      
    List<string> str = new List<string>();
    str.Add("Welcome");
    str.Add("Bye");
    browser.InvokeScript("getMemoryUsageCallback", str.ToArray());
}
HTML页面

 <!DOCTYPE html>
      <html lang="en">
    <head>
      <meta charset="utf-8" />
      <title>jQuery UI Accordion - Default functionality</title>
      <link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />
      <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
      <script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
      <link rel="stylesheet" href="/resources/demos/style.css" />
        <script>
            $(function () {
                $("#accordian h1").click()
                {
                }

            });
        </script>
    </head>
    <body>
    <div id="accordion">
      <h3 id="memoryUsageLimit">Section 1</h3>
      <div>
        <p>
        Mauris mauris ante, blandit et, ultrices a, suscipit eget, quam. Integer
        ut neque. Vivamus nisi metus, molestie vel, gravida in, condimentum sit
        amet, nunc. Nam a nibh. Donec suscipit eros. Nam mi. Proin viverra leo ut
        odio. Curabitur malesuada. Vestibulum a velit eu ante scelerisque vulputate.
        </p>
      </div>
      <h3>Section 2</h3>
      <div>
        <p>
        Sed non urna. Donec et ante. Phasellus eu ligula. Vestibulum sit amet
        purus. Vivamus hendrerit, dolor at aliquet laoreet, mauris turpis porttitor
        velit, faucibus interdum tellus libero ac justo. Vivamus non quam. In
        suscipit faucibus urna.
        </p>
      </div>
      <h3>Section 3</h3>
      <div>
        <p>
        Nam enim risus, molestie et, porta ac, aliquam ac, risus. Quisque lobortis.
        Phasellus pellentesque purus in massa. Aenean in pede. Phasellus ac libero
        ac tellus pellentesque semper. Sed ac felis. Sed commodo, magna quis
        lacinia ornare, quam ante aliquam nisi, eu iaculis leo purus venenatis dui.
        </p>
        <ul>
          <li>List item one</li>
          <li>List item two</li>
          <li>List item three</li>
        </ul>
      </div>
      <h3>Section 4</h3>
      <div>
        <p>
        Cras dictum. Pellentesque habitant morbi tristique senectus et netus
        et malesuada fames ac turpis egestas. Vestibulum ante ipsum primis in
        faucibus orci luctus et ultrices posuere cubilia Curae; Aenean lacinia
        mauris vel est.
        </p>
        <p>
        Suspendisse eu nisl. Nullam ut libero. Integer dignissim consequat lectus.
        Class aptent taciti sociosqu ad litora torquent per conubia nostra, per
        inceptos himenaeos.
        </p>
      </div>
    </div>
         <script type="text/javascript">
             function onLoad() {
                 window.external.notify("getMemoryUsage");
             }
             $(function getMemoryUsageCallback(str1) {

                 $(accordion).append("<h3>"+str1.valueOf[0] +"</h3>");
                 $(accordion).accordion();
             });
        </script>

    </body>
    </html>

但我得到str[0]值未定义。请帮我解决这个问题。

,也张贴一些例子项目链接,我可以使用c#, JavaScript和j -查询在windows手机移动应用程序在web浏览器控制。以及在Javascript和jquery中访问c#变量的任何示例,反之亦然。

首先,您没有呼叫onLoad()。它不会被神奇地调用。将body标签更新为

<body onload="onLoad();">

也改变你的getMemoryUsageCallback功能如下

function getMemoryUsageCallback() {
    $(accordion).append("<h3>" + arguments[0] + "</h3>");
    $(accordion).accordion();
}

您可以访问arguments内置变量访问传递的参数。也包括$(function ... });将导致错误,所以只使用正常的js函数声明,如我上面所示。

完整的html如下:

<!DOCTYPE html>
  <html lang="en">
<head>
  <meta charset="utf-8" />
  <title>jQuery UI Accordion - Default functionality</title>
  <link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />
  <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
  <script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
  <link rel="stylesheet" href="/resources/demos/style.css" />
    <script>
        $(function () {
            $("#accordian h1").click()
            {
            }

        });
    </script>
</head>
<body onload="onLoad();">
<div id="accordion">
  <h3 id="memoryUsageLimit">Section 1</h3>
  <div>
    <p>
    Mauris mauris ante, blandit et, ultrices a, suscipit eget, quam. Integer
    ut neque. Vivamus nisi metus, molestie vel, gravida in, condimentum sit
    amet, nunc. Nam a nibh. Donec suscipit eros. Nam mi. Proin viverra leo ut
    odio. Curabitur malesuada. Vestibulum a velit eu ante scelerisque vulputate.
    </p>
  </div>
  <h3>Section 2</h3>
  <div>
    <p>
    Sed non urna. Donec et ante. Phasellus eu ligula. Vestibulum sit amet
    purus. Vivamus hendrerit, dolor at aliquet laoreet, mauris turpis porttitor
    velit, faucibus interdum tellus libero ac justo. Vivamus non quam. In
    suscipit faucibus urna.
    </p>
  </div>
  <h3>Section 3</h3>
  <div>
    <p>
    Nam enim risus, molestie et, porta ac, aliquam ac, risus. Quisque lobortis.
    Phasellus pellentesque purus in massa. Aenean in pede. Phasellus ac libero
    ac tellus pellentesque semper. Sed ac felis. Sed commodo, magna quis
    lacinia ornare, quam ante aliquam nisi, eu iaculis leo purus venenatis dui.
    </p>
    <ul>
      <li>List item one</li>
      <li>List item two</li>
      <li>List item three</li>
    </ul>
  </div>
  <h3>Section 4</h3>
  <div>
    <p>
    Cras dictum. Pellentesque habitant morbi tristique senectus et netus
    et malesuada fames ac turpis egestas. Vestibulum ante ipsum primis in
    faucibus orci luctus et ultrices posuere cubilia Curae; Aenean lacinia
    mauris vel est.
    </p>
    <p>
    Suspendisse eu nisl. Nullam ut libero. Integer dignissim consequat lectus.
    Class aptent taciti sociosqu ad litora torquent per conubia nostra, per
    inceptos himenaeos.
    </p>
  </div>
</div>
     <script type="text/javascript">
         function onLoad() {
             window.external.notify("getMemoryUsage");
         }
         function getMemoryUsageCallback() {
             $(accordion).append("<h3>" + arguments[0] + "</h3>");
             $(accordion).accordion();
         }
    </script>

</body>
</html>