2013-08-17 2 views
0

Я делаю список желаний, который сохраняет идентификаторы идентификаторов как id1, id2, id5 и т. Д. В SQL.ASP.NET Repeater/ListView с использованием Array для вызова SQL

Я пытаюсь использовать массив, чтобы сделать списокID = id1, listingID = id2 ... вызов SQL, чтобы он отображал все списки на одной странице.

Могу ли я использовать Repeater/ListView с массивом для этого?

Извините, если это не очень понятно, я довольно новичок в этом. Я провел около часа исследования, но это не работает для меня.

Благодарим за рассмотрение.

+0

ваш вопрос не ясно? у вас есть массив объектов, который вы хотите отобразить на своей странице? – Ehsan

+0

Я хочу использовать Array для сравнения SQL. WHERE listingID = ArrayItem1, ArrayItem2 ... и т. Д. Поэтому я могу отображать всю информацию из каждого сравнения на одной странице. – user2691322

ответ

0

Вам будет лучше, если вы создаете Listing класс, который имеет информацию, которую вы хотите отобразить в представлении вид повторителя/список/сетки, как это:

public class Listing 
{ 
    public int Id { get; set; } 
    public string Name { get; set; } 
    public string Description { get; set; } 

    // And whatever else you want to display to the user and that exists in the database 
} 

Теперь вы можете построить List<Listing> для использования в качестве источника данных для ваших данных с привязкой элементов управления ASP.NET (повторитель, просмотреть список, просмотреть сетки и т.д.), как это:

var listOfListings = new List<Listing>(); 
listOfListings = GetListingsFromDatabase(); 

GridView.DataSource = listOfListings; 
GridView.DataBind(); 
0

Да может использовать

protected void Page_Load(object sender, EventArgs e) 
    { 
     string test = "s1,s2,s3"; 
     string[] StrArray = test.Split(','); 

     if (!Page.IsPostBack) 
     { 
      rptTest.DataSource = StrArray; 
      rptTest.DataBind(); 
     } 
    } 


    <asp:Repeater runat="server" ID="rptTest"> 
     <ItemTemplate> 
     listingID = <%# Container.DataItem %> 
     </ItemTemplate> 
    </asp:Repeater> 
+0

Как я могу использовать это для сравнения баз данных? Это пример, который я могу получить, о чем я очень ценю. Я думал, что это может быть так же просто, как WHERE listingID = <% # Container.DataItem%>, но потом я получил всевозможные ошибки. – user2691322

+0

вместо моего StrArray вы можете использовать свой массив, который вы делаете из базы данных –

+0

Я вытащил массив из базы данных, и приведенный выше код отлично отображает его, однако у меня возникают проблемы с тем, чтобы Repeater ссылался на списокID = ArrayItem1, ArrayItem2 и т. Д. для повторителя для вызова этой команды SQL. – user2691322

0

Вы можете связать свой массив DataGridView как этот

BTW ваш GridView будет выглядеть следующим образом

<asp:GridView ID="gView" runat="server" AutoGenerateColumns="false"> 
    <Columns> 
        <asp:BoundField DataField="ValueToBind" /> 
    </Columns> 
</asp:GridView> 

Сделать класс

public class ValuesToBind 
{ 
    public string ValueToBind { get; set; } 
} 

List<ValuesToBind> lstToBind = (
    from ar in yourArray 
    select new ValuesToBind 
    { 
     ValueToBind = ar 
    }).ToList(); 
gView.DataSource = lstTobind; 
gView.DataBind();