Om det inte går att loopa igenom panelen så borde det gå att komma åt dem med namn och index. Någon som vet vilka namn och index dessa textboxar får och därigenom hämta datan?
/Uwe
6 svar · 312 visningar · startad av Uwe
Jag har en panel som jag fyller med ett antal textboxar. Dessa lägger jag sedan i en panel på detta sätt:
<asp:panel id="myPanel" runat="server" Visible="False">
<asp:DataList id="DataList" runat="server">
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem, "Rubrik") %>:<br>
<asp:TextBox id="Index" Runat="server" Height="23px" Width="200"></asp:TextBox>
</ItemTemplate>
</asp:DataList>
<asp:Button id="Button1" runat="server" Text="View"></asp:Button>
</asp:panel>
sqlCommand1.Connection = sqlConnection1;
sqlConnection1.Open();
sqlCommand1.CommandText = "SELECT id, Rubrik FROM table ORDER BY Rubrik";
System.Data.DataSet ds = new System.Data.DataSet();
System.Data.SqlClient.SqlDataAdapter sqlDataAdapter;
sqlDataAdapter = new System.Data.SqlClient.SqlDataAdapter(sqlCommand1);
sqlDataAdapter.Fill(ds, "Result");
DataList.DataSource = ds;
DataList.RepeatLayout = RepeatLayout.Table;
DataList.DataBind();
sqlConnection1.Close();
Allt ser bra ut och det blir visuelt som jag har tänkt mig, men mitt problem är att när jag trycker på knappen vill jag komma åt den ev text som finns i dessa textboxar. Jag har försökt genom att lopa igenom panelen men utan lyckat resultat. Finns det något sätt att få detta att funka?
Om det inte går att loopa igenom panelen så borde det gå att komma åt dem med namn och index. Någon som vet vilka namn och index dessa textboxar får och därigenom hämta datan?
/Uwe
Du får första leta fram din panel och sedan din datalist och där i skall du sedan hitta dina textboxar.
Typ något sånt här:
TextBox tmp = (TextBox)myPanel.FindControl("DataList").FindControl("Index");
- M
Har gjort en ny lösning där jag skapar alla min TextBoxar från codebehind och därmed får lättare att styra namnen. På så sätt kan jag komma åt dem som Gladh visar. Men då uppstår ett annat probelm eftersom jag vill kunna spara undan namen (dess id) i en integer array.
Vilket är bästa sättet att spara en sån array då jag bara vill fylla den en gång men ha den åtkomlig hela tiden?
//Uwe
Vilket är bästa sättet att spara en sån array då jag bara vill fylla den en gång men ha den åtkomlig hela tiden?
Om den är samma för alla användare så är det cachen, är den olika för olika användare så är det session. Alternativt så spara man ner de i en databas. Men om det skall vara olika för olika användare så blir det lättast med session.
- M
Gladh skrev:
Om den är samma för alla användare så är det cachen, är den olika för olika användare så är det session. Alternativt så spara man ner de i en databas. Men om det skall vara olika för olika användare så blir det lättast med session.
- M
Som det är nu så hämtar jag informationen från en databas, men jag tycker det är onödigt att hämta den varje gång. Att cacha den verkar vara ett bra alternativ, men hur funkar det att cacha en integerarray?
men hur funkar det att cacha en integerarray?
En array är ett objekt som kan cachas utan problem.
cache.Add("min Array", arrayOfIntegers);
- Magnus