webForumDet fria alternativet

Panel med TextBox

6 svar · 310 visningar · startad av Uwe

UweMedlem sedan nov. 2003181 inlägg
#1

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?

UweMedlem sedan nov. 2003181 inlägg
#2

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

GladhMedlem sedan maj 20012 812 inlägg
#3

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

UweMedlem sedan nov. 2003181 inlägg
#4

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

GladhMedlem sedan maj 20012 812 inlägg
#5

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

UweMedlem sedan nov. 2003181 inlägg
#6

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?

GladhMedlem sedan maj 20012 812 inlägg
#7

men hur funkar det att cacha en integerarray?

En array är ett objekt som kan cachas utan problem.

cache.Add("min Array", arrayOfIntegers);

- Magnus

122 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
119 ms — hämta tråd, inlägg och bilagor (db)