2016-04-26 4 views
0

Я пытаюсь создать проект, который берет исходный код веб-сайта в качестве входных данных через текстовую область, а затем выполняет поиск, чтобы найти количество элементов на этой странице. Я смог выполнить поиск и поставить вывод в виде всплывающих окон. Я хочу, чтобы результат отображался в виде сетки или в таблице данных вместо всплывающих окон. Главная страница код:Как добавить данные в Gridview?

<body> 

    <textarea id="TextArea1"></textarea> 
    <br /> 
    <input id="Submit1" type="submit" value="submit" /></div> 

    <script> 
       var $textarea = $('#TextArea1'), $submit = $('#Submit1'); 
      $submit.click(function (e) { 
        e.preventDefault(); 
        sourceCode = $textarea.val(); 
        var $searchObject = $('<div id="Searching"></div>'); 
        $searchObject.append($(sourceCode)); 

     alert("Number of text boxes = " + $searchObject.find('[type=text]').length); 
        $searchObject.find('[type=text]').each(function() { 
        alert("Name of textbox = " + $(this).attr("name") + " and its ID is " + $(this).attr("id")); 
     }); 

     alert("Number of Submit Buttons = " + $searchObject.find('[type=submit]').length); 
        $searchObject.find('[type=submit]').each(function() { 
        alert("Name of Submit button = " + $(this).attr("name") + " and its ID is =" + $(this).attr("id")); 
     }); 
    </script> 

<form runat="server"> 
    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" Height="178px" Width="1191px"> 
    <Columns> 
    <asp:BoundField HeaderText="Element" DataField="Element"/> 
    <asp:BoundField HeaderText="Element Name" DataField="Element name"/> 
    <asp:BoundField HeaderText="Element ID" DataField="Element ID"/> 
    </Columns> 
    </asp:GridView> 
    <asp:Button ID="Button1" runat="server" Text="WebElements.xlsx" /> 
</form> 

</body> 
</html> 

код Бэкэнд:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using System.Data; 
namespace Generic_GUI 
{ 
    public partial class HomePage : System.Web.UI.Page 
    { 
     protected void Page_Load(object sender, EventArgs e) 
     { 
      if (!this.IsPostBack) 
      { 
       DataTable dt = new DataTable(); 
       dt.Columns.AddRange(new DataColumn[4] { 
          new DataColumn("Element",typeof(string)), 
          new DataColumn("Element Name",typeof(string)), 
          new DataColumn("Element ID",typeof(string)), 

       dt.Rows.Add("", "", "", ""); 
       dt.Rows.Add("", "", "", ""); 
       dt.Rows.Add("", "", "", ""); 
       GridView1.DataSource = dt; 
       GridView1.DataBind(); 
      } 
     }  
    } 
} 

Может кто-нибудь помочь мне с кодом для передачи из положить в виде сетки вместо всплывающих окон предупреждений? Я раньше не работал с GridView и поэтому не знаю, как это достичь.

ответ

0

Создать класс для хранения результатов

public class Element 
    { 
     public string Type { get; set; } 
     public string Name { get; set; } 
     public string ID { get; set; } 

     public Element(string type = "", string name = "", string id = "") 
     { 
      this.Type = type; 
      this.Name = name; 
      this.ID=id; 
     } 
    } 

Создать IEnumerable контейнера для хранения

public List<Element> ListOfElements = new List<Element>(); 

    // Example population of List<> 
    Element el; 

    el = new Element("Type1", "Name1", "ID1"); 
    ListOfElements.Add(el); 

    el = new Element("Type2", "Name2", "ID2"); 
    ListOfElements.Add(el); 

После заполнения списка привязать его к Gridview

GridView1.DataSource = ListOfElements ; 
GridView1.DataBind(); 

GridView может быть определенные в разметке как:

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false"> 
    <Columns> 
     <asp:BoundField DataField="Type" HeaderText="Element Type" SortExpression="Type"/> 
     <asp:BoundField DataField="Name" HeaderText="Element Name" SortExpression="Name"/> 
     <asp:BoundField DataField="ID" HeaderText="ID" SortExpression="ID"/> 
    </Columns> 
</asp:GridView> 
+0

У меня возникли проблемы с созданием популяции списка. Это потому, что я изучаю, как я иду, и нужно посмотреть, как это достичь. Я сообщу результат, как только я это сделаю. Большое спасибо за ваш ответ :) –

Смежные вопросы