Avatar billede mungojerrie Nybegynder
10. februar 2004 - 15:09 Der er 4 kommentarer og
1 løsning

Html og C#

Hej

Har lidt problemer med at styre det html som C# genererer. Muligvis kan det klares på en anden måde, end jeg gerne vil.
Jeg laver en lille meningsmåling, hvor jeg dynamisk skal generere
textfelter. Til det formål har jeg benyttet en placeholder og det virker umiddelbart, men jeg vil gerne kunne indsætte et linjeskift efter hvert textfelt i min html. Hvordan gør man det ?

Koden ses herunder, som består af to sider, hvor side1 redirecter til side2 og side2 viser så

SIDE 1:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

namespace poll
{
    /// <summary>
    /// Summary description for WebForm1.
    /// </summary>
    public class GeneratePoll : System.Web.UI.Page
    {
        protected System.Web.UI.WebControls.TextBox txtAntal;
        protected System.Web.UI.WebControls.Button btnAntal;
        protected System.Web.UI.WebControls.Label Label2;
        protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator1;
        protected System.Web.UI.WebControls.RangeValidator RangeValidator1;
        protected System.Web.UI.WebControls.Label Label1;
   
        private void Page_Load(object sender, System.EventArgs e)
        {
            // Put user code to initialize the page here
            Session["test"]= null;
        }

        #region Web Form Designer generated code
        override protected void OnInit(EventArgs e)
        {
            //
            // CODEGEN: This call is required by the ASP.NET Web Form Designer.
            //
            InitializeComponent();
            base.OnInit(e);
        }
       
        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {   
            this.btnAntal.Click += new System.EventHandler(this.btnAntal_Click);
            this.Load += new System.EventHandler(this.Page_Load);

        }
        #endregion

        private void btnAntal_Click(object sender, System.EventArgs e)
        {
                Session["Antal"] = txtAntal.Text;
                Response.Redirect("GeneratePoll_2.aspx");   
       
        }
    }
}

SIDE 2:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

namespace poll
{
    /// <summary>
    /// Summary description for GeneratePoll_2.
    /// </summary>
    public class GeneratePoll_2 : System.Web.UI.Page
    {
        protected System.Web.UI.WebControls.Panel PanelPoll;
        protected System.Web.UI.WebControls.PlaceHolder PH_Html;
   
        private void Page_Load(object sender, System.EventArgs e)
        {
            // Put user code to initialize the page here
            int counter = System.Convert.ToInt32(Session["Antal"]);
            int i;
   
            for (i = 1; i <= counter; i++){
                System.Web.UI.WebControls.TextBox MyText = new TextBox();
                MyText.ID = i.ToString();
                PH_Html.Controls.Add(MyText);

            }
           
      }

        #region Web Form Designer generated code
        override protected void OnInit(EventArgs e)
        {
            //
            // CODEGEN: This call is required by the ASP.NET Web Form Designer.
            //
            InitializeComponent();
            base.OnInit(e);
        }
       
        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {   
            this.Load += new System.EventHandler(this.Page_Load);

        }
        #endregion
    }
}
Avatar billede Lars Søndergaard Nybegynder
10. februar 2004 - 15:49 #1
prøv at lave en response.write("<BR>"); efter du har indsat textboxen .. hvis det ikke virker så lav en tabel i din aspx side og tilføj textbokse dynamisk vha tablerow og tablecell. Dvs en tablecell indeholder din textbox - denne løsning virker 100%
Avatar billede mungojerrie Nybegynder
10. februar 2004 - 16:00 #2
Noget i den stil ???

          for (i = 1; i <= counter; i++){
                System.Web.UI.WebControls.TextBox MyText = new TextBox();
                MyText.ID = i.ToString();
                PH_Html.Controls.Add(MyText);
                response.write("<br>");
            }
Kan du ikke give et eksempel på tablerow osv ???
Avatar billede mungojerrie Nybegynder
10. februar 2004 - 19:19 #3
response.write() virker ikke her.......
Avatar billede Lars Søndergaard Nybegynder
11. februar 2004 - 16:40 #4
OK.. noget i denne retning..

I din aspx fil:
<asp:table id="mytable" runat="server"></asp:table>

I din aspx.cs fil:
proteceted Table mytable;

public void AddBox()
{
TextBox t1 = new TextBox();
Tablerow r1 = new TableRow()
TableCell c1 = new TableCell();
c1.Add(t1);
r1.Controls.Add(c1);
mytable.Rows.Add(r1);
}
Du kan smidetextboksene ind i en tablecell
Avatar billede mungojerrie Nybegynder
11. februar 2004 - 17:33 #5
Det virker jo bare :-)
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

IT-JOB

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Ingeniør til Satellitkommunikation

Djurslands Bank

IT-udvikler

AL Sydbank A/S (tidligere Arbejdernes Landsbank)

Teamleder til AL Sydbanks GDPR & Tech Regulation i Aabenraa

IT-Universitetet i København

CIO