Avatar billede testpilot_dk Nybegynder
21. oktober 2005 - 18:27 Der er 36 kommentarer og
1 løsning

Oprette HTML Textarea dynamisk

Hej!

Hvordan opretter jeg en HTML Textarea dynamisk ???
Avatar billede testpilot_dk Nybegynder
21. oktober 2005 - 18:35 #1
Jeg har fundet ud af hvordan jeg opretter dem dynamisk, er der nogen måde jeg kan styrer positioner på dem, og hvordan kan jeg få data ud fra dem igen.


Jeg opretter dem sådan her

            for(int i = 0; i < this.haf.Afsnit; i++)
            {
                System.Web.UI.HtmlControls.HtmlTextArea htm = new HtmlTextArea();
                htm.Rows = 2;
                this.Controls.Add(htm);
            }
Avatar billede jokkejensen Novice
21. oktober 2005 - 19:49 #2
lig dem i en placeholder... <asp:Placeholder runat="server" id="test">

test.Controls.Add(htm);

Du henter med (HtmlTextArea)htm.InnerText...
(http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemwebuihtmlcontrolshtmltextareaclasstopic.asp)
Avatar billede jokkejensen Novice
21. oktober 2005 - 19:49 #3
*id="test" />
Avatar billede testpilot_dk Nybegynder
21. oktober 2005 - 20:04 #4
Ja okay!

hvordan styrer jeg så placeringen på dem! jeg vil gerne kunne bestemme hvor mine textareas bliver placeret
Avatar billede dr_chaos Nybegynder
22. oktober 2005 - 09:15 #5
skal de placeres i forhlold til noget andet på siden ?
Avatar billede testpilot_dk Nybegynder
22. oktober 2005 - 09:27 #6
Hej!

Det skal de, jeg vil ikke have dem liggende oppe i toppen af mit vindue, synes det ser fjollet ud?
Avatar billede dr_chaos Nybegynder
22. oktober 2005 - 09:33 #7
hvis du placerer en placeholder der på siden hvor du gerne vil have dem så kan tilføje dem på den måde som jokkejensen foreslår.
Avatar billede dr_chaos Nybegynder
22. oktober 2005 - 09:34 #8
du kan også lave en tom tabel der hvor du vil have dem og så tilføje nye rows og cells til tabellen i codebehind filen. På den måde er det også muligt at styre dem.
Avatar billede testpilot_dk Nybegynder
22. oktober 2005 - 10:01 #9
Jamen, jeg kan ikke flytte dem væk fra toppen! hvordan skal jeg gører det først!

jeg har fundet ud af hvordan jeg tilføjer dem til min placeholder, jeg vil bare kunne styre placering af placeholder og textareas
Avatar billede dr_chaos Nybegynder
22. oktober 2005 - 10:05 #10
prøv lige at kopier din kode herind
Avatar billede testpilot_dk Nybegynder
22. oktober 2005 - 10:13 #11
for(int i = 0; i < this.haf.Afsnit; i++)
            {
                for (int j = 0; j < 3; j++)
        protected System.Web.UI.WebControls.PlaceHolder Dansk;
        protected System.Web.UI.WebControls.PlaceHolder Engelsk;
        protected System.Web.UI.WebControls.PlaceHolder Tysk;

                {
                    htm = new HtmlTextArea();
                    htm.Rows = this.Cols;
                    htm.Cols = this.Rows;

                    switch(i)
                    {
                    case 0:
                        this.Dansk.Controls.Add(htm);
                        break;
                    case 1:
                        this.Engelsk.Controls.Add(htm);
                        break;
                    case 2:
                        this.Tysk.Controls.Add(htm);
                        break;
                    default:
                        break;
                    }
                }

i aspx filen

            <asp:PlaceHolder id="Engelsk" runat="server"></asp:PlaceHolder>
            <asp:PlaceHolder id="Tysk" runat="server"></asp:PlaceHolder>
            <asp:PlaceHolder id="Dansk" runat="server"></asp:PlaceHolder>
Avatar billede dr_chaos Nybegynder
22. oktober 2005 - 10:20 #12
jeg skal bruge hele aspx filen.
Avatar billede testpilot_dk Nybegynder
22. oktober 2005 - 10:24 #13
<%@ Page language="c#" Codebehind="Add2.aspx.cs" AutoEventWireup="false" Inherits="TestPage.Add2" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
    <HEAD>
        <meta name="vs_snapToGrid" content="True">
        <title>Add2</title>
        <meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
        <meta name="CODE_LANGUAGE" Content="C#">
        <meta name="vs_defaultClientScript" content="JavaScript">
        <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
    </HEAD>
    <body MS_POSITIONING="GridLayout">
        <form id="Form1" method="post" runat="server">
            <asp:Label id="Label1" style="Z-INDEX: 101; LEFT: 56px; POSITION: absolute; TOP: 384px" runat="server"
                Width="568px" Height="32px"></asp:Label>
            <asp:Button id="OpretPage" style="Z-INDEX: 102; LEFT: 320px; POSITION: absolute; TOP: 568px"
                runat="server" Text="Opret Side"></asp:Button>
            <asp:PlaceHolder id="PlaceHolder2" runat="server"></asp:PlaceHolder>
            <asp:PlaceHolder id="Engelsk" runat="server"></asp:PlaceHolder>
            <asp:PlaceHolder id="Tysk" runat="server"></asp:PlaceHolder>
            <asp:PlaceHolder id="Dansk" runat="server"></asp:PlaceHolder>
        </form>
    </body>
</HTML>
Avatar billede dr_chaos Nybegynder
22. oktober 2005 - 10:30 #14
<%@ Page language="c#" Codebehind="Add2.aspx.cs" AutoEventWireup="false" Inherits="TestPage.Add2" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
    <HEAD>
        <meta name="vs_snapToGrid" content="True">
        <title>Add2</title>
        <meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
        <meta name="CODE_LANGUAGE" Content="C#">
        <meta name="vs_defaultClientScript" content="JavaScript">
        <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
    </HEAD>
    <body MS_POSITIONING="GridLayout">
        <form id="Form1" method="post" runat="server">
            <asp:Label id="Label1" style="Z-INDEX: 101; LEFT: 56px; POSITION: absolute; TOP: 384px" runat="server"
                Width="568px" Height="32px"></asp:Label>
            <asp:Button id="OpretPage" style="Z-INDEX: 102; LEFT: 320px; POSITION: absolute; TOP: 568px"
                runat="server" Text="Opret Side"></asp:Button>

<asp:table  style="Z-INDEX: 103; LEFT: 56px; POSITION: absolute; TOP: 584px" id=tbltest runat=server>
<asp:tablerow>
<asp:tablecell>
  <asp:PlaceHolder id="PlaceHolder2" runat="server" ></asp:PlaceHolder>
            <asp:PlaceHolder id="Engelsk" runat="server"></asp:PlaceHolder>
            <asp:PlaceHolder id="Tysk" runat="server"></asp:PlaceHolder>
            <asp:PlaceHolder id="Dansk" runat="server"></asp:PlaceHolder>
</asp:TableCell>
</asp:tablerow>
</table>
         
        </form>
    </body>
</HTML>
Avatar billede testpilot_dk Nybegynder
22. oktober 2005 - 10:37 #15
okay, så har du lagt dem ind i en tabel, så kan jeg styrer dem på den måde! det er jo ganske smart!
Avatar billede dr_chaos Nybegynder
22. oktober 2005 - 10:39 #16
ja du kan gøre det med alle elementer.
det er bedre en style.
Avatar billede testpilot_dk Nybegynder
22. oktober 2005 - 10:48 #17
Okay, mange takker! skal i dele point, eller skal du have dem alle sammen
Avatar billede testpilot_dk Nybegynder
22. oktober 2005 - 10:50 #18
Et andet spørgsmål!

Hvordna kan man få dimensionerne af en billede, fra en HtmlInputFile
Avatar billede dr_chaos Nybegynder
22. oktober 2005 - 11:23 #19
du deler bare pointsene som du ønsker
jokkejensen svarede jo også
Avatar billede dr_chaos Nybegynder
22. oktober 2005 - 11:23 #20
svar
Avatar billede testpilot_dk Nybegynder
22. oktober 2005 - 11:25 #21
Okay, så får du dem alle!

Har du en ide til det med dimensionerne på billeder
Avatar billede testpilot_dk Nybegynder
22. oktober 2005 - 11:28 #23
takker, det vil jeg gøre!

Fortsat god weekend
Avatar billede dr_chaos Nybegynder
22. oktober 2005 - 11:28 #24
tak i lige måde
Avatar billede jokkejensen Novice
23. oktober 2005 - 15:10 #25
Du vil få mere glæde af, inden du kommer for godt i gang, at læse lidt om html, inden du laver en færdig side med absolut positionerede elementer, i et IE only "gridlayout" uden en dokument type.. CSS ville også være at foretrække, men jeg kender selvfølgeligt ikke sidens omfang, er det bare en enkelt webform til test er det jo en okay hurtig løsning, men ikke på langt sigt.
Avatar billede testpilot_dk Nybegynder
23. oktober 2005 - 15:14 #26
Jeg er okay inden i html, jeg har bare aldrig brugt det på den måde i ASP.NET, siden skal generere en masse Textareas, som der skal tastes noget tekst i!


Men tak for tiden, jeg vil overveje det med CSS til fremtidige løsninger.

Denne her er bare en test side som ikke bliver mere kompliceret end 6 - 9 textareas og lidt input files

Fortsat god søndag
Avatar billede jokkejensen Novice
23. oktober 2005 - 15:17 #27
Nej så er gridlayout fint....

Trode bare lige du var en "applikation's" udvikler der havde kylt dig over webforms, så ville det være skønnest at få rettet sådanne fejl asap :)

Og iligemåde :)

Mvh
Avatar billede testpilot_dk Nybegynder
23. oktober 2005 - 17:17 #28
Nu har jeg fået lagt mine ting ind i en tabel,


hvordan får jeg så værdien ud af den enkelte control som jeg lagt i hver sin celle ??
Avatar billede dr_chaos Nybegynder
23. oktober 2005 - 17:21 #29
giv hvert textarea et unikt id
og så kan du bruge page.findcontrol("id");
og så kan du type caste det til et textarea igen og få den indtastede tekst.
Avatar billede jokkejensen Novice
23. oktober 2005 - 17:22 #30
De har vel forskellige ID's de forskellige htmlAreas... så henter du bare teksten med

string tekst = ID.InnerText;
Avatar billede jokkejensen Novice
23. oktober 2005 - 17:23 #31
sorry.. så ikke du skrev dr_chaos
Avatar billede testpilot_dk Nybegynder
23. oktober 2005 - 17:23 #32
okay, man behøver ikke at hente dem via tabellens control
Avatar billede dr_chaos Nybegynder
23. oktober 2005 - 17:27 #33
nej ikke hvis du tildeler dem et id når du opretter dem :)
Avatar billede testpilot_dk Nybegynder
23. oktober 2005 - 17:32 #34
hvor skal jeg give dem et ID
Avatar billede testpilot_dk Nybegynder
23. oktober 2005 - 17:35 #35
DEt har jeg fundet ud af´!

Mange takker
Avatar billede dr_chaos Nybegynder
23. oktober 2005 - 17:35 #36
np
Avatar billede dr_chaos Nybegynder
23. oktober 2005 - 17:39 #37
på denne måde tilføjes id til dem som ønsker at vide det.
System.Web.UI.HtmlControls.HtmlTextArea htm = new HtmlTextArea();
            htm.Rows = 2;
            htm.ID ="test";
            this.Controls.Add(htm);
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester