首页 > 解决方案 > 是否可以从网络获取 javascript 数据到应用程序

问题描述

我需要从网站(例如 facebook)获取到我的 .NET 应用程序的 innerHTML 字符串列表。
有没有办法将以下函数的结果放入我的应用程序中(我会将这些数据放入列表中):

var data = new Array();
for(i=0; i<document.getElementsByClassName("class-name").length;i++)
    data.push(document.getElementsByClassName("class-name")[i].innerHTML);

上面的代码准确地输出了我需要的数据,现在我的问题是是否有可能以某种方式将这些数据放入我的 c# 列表中?

这就是我希望它看起来的样子:

var JS_DATA = data;                             //get the js array as a variable
static List<string> data = new List<string>();  //make a new list

foreach (string str in JS_DATA)
    data.Add(String.Format("{0}", str));        //add the whole js array to the list

标签: javascriptc#asp.net.net

解决方案


这是一个例子:

查看隐藏字段 array_store

客户端:

 <html xmlns="http://www.w3.org/1999/xhtml">
   <head runat="server">
    <title></title>
     <script type="text/javascript">
         var array_store;
         window.onload = function () {
             array_store = document.getElementById("array_store");
             document.getElementById("array_disp").innerHTML = array_store.value;
         };
         function UpdateArray() {
             var arr;
             if (array_store.value == "") {
                 arr = new Array();
             } else {
                 arr = array_store.value.split(",");
             }
             arr.push((arr.length + 1).toString());
             array_store.value = arr.join(",");
         };
    </script>
  </head>
   <body>
    <form id="form1" runat="server">
    <span id="array_disp"></span>
    <br />
    <asp:Button ID="btnSubmit" runat="server" Text="Submit" OnClientClick="UpdateArray()" />
    <input type="hidden" id="array_store" name = "ArrayStore" value = '<%=this.ArrayStore %>' />
    </form>
  </body>
  </html>

C#:

   protected string ArrayStore = "";
   protected void Page_Load(object sender, EventArgs e)
   {
      this.ArrayStore = Request.Form["ArrayStore"];
   }

推荐阅读