Avatar billede Sidenius_ Nybegynder
03. juni 2009 - 14:34 Der er 6 kommentarer og
1 løsning

Visual Studio 2008 - ASP.NET - oprettelse af Dato-felt

jeg vil lave en checkliste, hvor man på første side skal indtaste Initialer og dato, som herefter gemmes i enten en tekstfil eller database ( ved endnu ik hvad der er nemmest og hvordan det gøres ). Jeg har lavet en tekstbox hvor man kan indtaste sine Initialer og vil så også gerne have at man kan indtaste dato'en nedenunder, hvorefter man trykker på en "Gem" knap så disse værdier gemmes.

er der nogen der kan hjælpe med at komme igang med dette , da jeg ikke har så meget forstand på kodningen ( C# ), men indtil nu bare har designet text-boxen til Initialerne.

På forhånd tak
Avatar billede hojgaard Nybegynder
03. juni 2009 - 19:45 #1
Hvis datoen, der skal angives i er den aktuelle måned, kan du evt. bruge Calendar controllen, som du allerede har i VS.

<asp:Calendar ....

Du kan også vælge at bruge en en textbox sammen med en maske. Så sikrer du dig, at input altid er i samme format. Se fx:

http://www.asp.net/AJAX/AjaxControlToolkit/Samples/MaskedEdit/MaskedEdit.aspx

Initialer kan du også gemme i en cookie. Så behøver brugeren ikke udfylde feltet, hver gang siden vises.
Avatar billede Sidenius_ Nybegynder
04. juni 2009 - 09:19 #2
det er super, det prøver jeg at rode lidt med. Smid bare et svar
Avatar billede hojgaard Nybegynder
05. juni 2009 - 17:16 #3
Fik du løst dit problem?
Avatar billede Sidenius_ Nybegynder
10. juni 2009 - 10:26 #4
jeg fik trukket en Calendar control over, da det umiddelbart virkede nemmest for mig. Er det så muligt at når brugeren indtaster sine initialer og vælger dato i kalenderen at disse gemmes ned i en database når man trykker på en knap der f.eks kaldes "næste side" ?
Avatar billede hojgaard Nybegynder
10. juni 2009 - 11:11 #5
Her er lidt inspiration til dir projekt. Koden er ikke testet, og mangler bl.a. også validering. F.eks. bør man tjekke om brugeren nu også har angivet gyldig initialer.

Håber det kan hjælpe dig videre...


protected void SubmitButton_Click(object sender, EventArgs e)
{
    string initials = this.InitialTextBox.Text;
    System.DateTime date = this.CalendarControl.SelectedDate;

    bool isCreated = this.CreateEntry(initials, date);

    if (isCreated)
    {
        Response.Redirect("NextPage.aspx", false);
    }
}

private bool CreateEntry(string initials, System.DateTime date)
{
    System.Data.SqlClient.SqlConnection connection = null;
    System.Data.SqlClient.SqlCommand command = null;

    int rowsAffected = 0;

    try
    {
        connection = new System.Data.SqlClient.SqlConnection();
        connection.ConnectionString = "Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;";
        connection.Open();

        command = connection.CreateCommand();
        command.CommandType = System.Data.CommandType.Text;
        command.CommandText = "INSERT INTO MyTable (Initials, Date) VALUES (@Initials, @Date)";
        command.Parameters.Add("@Initials", System.Data.SqlDbType.VarChar).Value = initials;
        command.Parameters.Add("@Date", System.Data.SqlDbType.Date).Value = date;

        rowsAffected = command.ExecuteNonQuery();
    }
    finally
    {
        command.Dispose();
        connection.Dispose();
    }

    return rowsAffected == 1;
}
Avatar billede Sidenius_ Nybegynder
10. juni 2009 - 11:46 #6
tusind tak hojgaard, jeg prøver mig lidt frem med dit input her. Ellers opretter jeg bare en ny tråd hvis jeg går helt i stå.
Avatar billede hojgaard Nybegynder
10. juni 2009 - 12:04 #7
Bare spørg løs... så skal jeg nok prøve at hjælpe :)
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
Kurser inden for grundlæggende programmering

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