Я пытаюсь создать динамические элементы Li на основе значений базы данных с выходом выглядящих как:построить динамичную Ли с DataBind
<li id="myUniqueLiID" runat="server"><a href="vaiable url from db">variable string from db</a></li>
Количества Li элементов будет определяться во время выполнения. Я хочу пойти с элементами li, потому что, по-моему, это оставляет мне больше возможностей для манипуляции в более поздние времена, поскольку я против нескольких элементов asp, с которыми я работал, например asp: ListBox.
Вот код, я работаю с до сих пор
SqlDatabase myconnection= new SqlDatabase(@"myconnection string");
DbCommand myproc= myconnection.GetStoredProcCommand("sp_MySP");
using (IDataReader LoadAllItems = myconnection.ExecuteReader(myproc))
{
while (LoadAllItems.Read())
{
// retrieves ID from db
int myID = LoadAllItems.GetInt32(0);
// retrieves string from db
string myName = LoadAllItems.GetString(1);
// I have a static method that builds url based off id
// it takes an int and returns a string
string restURL = MyLibrary.MyClass.StaticURLMethod(myID);
//data bind to li element
myLiID.datasource = LoadAllItems;
//I think I build the li in datatextfield area but not
//sure if that is correct, or how to format.
myLiID.datatextfield = "";
myLiID.databind();
}
}
Если я нахожусь на правильном пути, пожалуйста, немного указания о том, куда идти дальше. Если я уйду в неправильном направлении, пожалуйста, определите правильное направление.
ретрансляторов идеально подходит для такого рода вещи. – NotMe
спасибо за ответ. Он отлично работал. Я собираюсь опубликовать свой ответ о том, как найти элемент управления и обновить его, но я буду отмечать ваш ответ, поскольку вы предоставили мне большую часть информации. –
Thx! Вы попросили небольшое руководство, поэтому я думал, что вы не хотите, чтобы все было прописано. Не был уверен, что уйти ... Подробнее о FindControl on SO: http://stackoverflow.com/questions/1203316/cant-find-control-within-asp-net-repeater – marapet