ASP.NET добавление элементов управления внутри цикла - PullRequest
2 голосов
/ 23 декабря 2009

Извините, это действительно нубский вопрос, но, пожалуйста, поймите, что у меня мало опыта в ASP.NET. Все, что мне нужно сделать, это:

1) Откройте следующий запрос SQL:

SELECT myid FROM mytable

2) Для каждой записи сгенерируйте этот фрагмент HTML:

<a href="#mynameanchor" onClick="myfunction( '__myid comes here__' );"><img src="http://someurl/__myid comes here as well__/small.png" /></a>

Мне легко использовать классические циклы в стиле ASP <% do until recordset.eof ... loop %>, но мне это нужно в стиле ASP.NET, возможно, выполнить операцию в событии Page_Load и использовать встроенные элементы управления ASP.NET.

Ответы [ 3 ]

4 голосов
/ 23 декабря 2009

Используйте регулятор повторителя. В ItemTemplate вы можете поместить все, что вы хотите сгенерировать для каждой записи, возвращаемой из вашего запроса.

http://articles.sitepoint.com/article/asp-net-repeater-control

3 голосов
/ 23 декабря 2009

добавьте это в источник aspx

   <td id="urLink" runat="server">

   </td>

добавить это в событие Page_Load

 SqlConnection con = new SqlConnection();
 con.connectionstring = "your connection database";
 SqlDataReader reader;
 SqlCommand command = new SqlCommand(con);
 command.Commandtext = "SELECT myid FROM mytable";
 command.CommandType = CommandType.Text;
 reader = command.ExecuteReader();
 while(reader.Read())
 {
      urLink.innerHTML += "<a   href="#mynameanchor" onClick="myfunction( " + reader["myid"].tostring() + " );">
    <img src="http://someurl/" + reader["myid"].tostring() + "/small.png" /></a>";
 }
2 голосов
/ 23 декабря 2009

Похоже, что onclick - это событие javascript, которое означает, что вы можете записать HTML-разметку в строку и затем добавить ее в буквальный элемент управления. Не забудьте использовать stringbuilder:)

вот очень простой пример:

// get data from database and into a reader before

StringBuilder links = New StringBuilder();

while(reader.read())
{
    links.appendFormat("<a HREF='id_{0}'>{0}</a>", reader["ID"]);
}

ltlLinks.Text = links.ToString();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...