繁体   English   中英

如何在jQuery函数中使用Windows Phone 8 C#列表

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

我想在Windows Phone浏览器控件中构建手风琴菜单。 为此,我正在解析一项休息服务并将其放在列表中。 现在我想在我的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]值。 请帮我解决这个问题。

并发布一些示例项目链接,其中我可以在Web浏览器控件的Windows Phone移动应用中使用C#,JavaScript和J-query。 以及访问Java中的C#变量的任何示例,反之亦然。

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

<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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM