• Visitors can check out the Forum FAQ by clicking this link. You have to register before you can post: click the REGISTER link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. View our Forum Privacy Policy.
  • Want to receive the latest contracting news and advice straight to your inbox? Sign up to the ContractorUK newsletter here. Every sign up will also be entered into a draw to WIN £100 Amazon vouchers!

ASP Experts!

Collapse
X
  •  
  • Filter
  • Time
  • Show
Clear All
new posts

    ASP Experts!

    I'm building a process for creating a dynamic form in ASP VB. I can easily create text boxes, drop down lists, multi select lists etc...
    One thing I can't seem to do though is dynamically create a calendar control and make it "pop up" on request.

    I've pulled out some code to try and isolate what the code is supposed to achieve.
    Hitting the "..." button should make the calendar control visible. Only it doesn't

    Heres some example code:
    Code:
    <%@ Page Language="VB" AutoEventWireup="false" CodeFile="calendarTest.aspx.vb" Inherits="calendarTest" %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>Untitled Page</title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:PlaceHolder ID="mycalendarPlaceholder" runat="server"></asp:PlaceHolder>
            <br />
            <asp:Literal ID="Literal1" runat="server"></asp:Literal></div>
        </form>
    </body>
    </html>
    Code:
    Partial Class calendarTest
        Inherits System.Web.UI.Page
        Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    
            Dim mycalendarTextbox As New TextBox()
            Dim mycalendarButton As New Button()
            Dim mycalendar As New Calendar
    
            mycalendar.ID = "calendar1"
            mycalendar.Visible = False
    
            mycalendarTextbox.ID = "Cal1"
            mycalendarTextbox.Text = CType(System.DateTime.Now, String)
    
            mycalendarButton.ID = "calendarButton"
            mycalendarButton.Text = "..."
            mycalendarButton.Attributes("OnClick") = "calendarButton_Click()"
    
            mycalendarPlaceholder.Controls.Add(mycalendarTextbox)
            mycalendarPlaceholder.Controls.Add(mycalendarButton)
            mycalendarPlaceholder.Controls.Add(mycalendar)
    
        End Sub
        Protected Sub calendarButton_Click(ByVal sender As Object, ByVal e As System.EventArgs)
    
            Dim mc As Calendar = CType(form1.FindControl("calendar1"), Calendar)
    
            mc.Visible = True
            '        mycalendarPlaceholder.Controls.Add(mc)
            Literal1.Text = Literal1.Text + "test1"
    
        End Sub
    
    End Class
    TIA!!!
    Coffee's for closers

    #2
    It's been quite a while since I played with ASP.NET (!= ASP, btw ) but might the
    Code:
    AutoEventWireup="false"
    attribute in the <%@ Page... directive have something to do with it?

    Not relevant to your issue, but why couldn't Microsoft have used standard Processing Instructions, which were intended for precisely that purpose?

    Oh, I forgot, Microsoft make their own "standards"

    Comment


      #3
      Most of the useful stuff can't be done with ASP.NET out of the box, but there's always a way and usually someone has already done it before you

      Googled:
      http://www.devx.com/vb2themax/Tip/18850
      Moving to Montana soon, gonna be a dental floss tycoon

      Comment


        #4
        The button click is not raising the calendarButton_Click() event. Adding a static button and calling calendarButton_Click() explicitly does make the calendar visible.

        QB.

        Comment


          #5
          Originally posted by NickFitz View Post
          It's been quite a while since I played with ASP.NET (!= ASP, btw ) but might the
          Code:
          AutoEventWireup="false"
          attribute in the <%@ Page... directive have something to do with it?
          made no difference
          Coffee's for closers

          Comment


            #6
            Originally posted by QwertyBerty View Post
            The button click is not raising the calendarButton_Click() event. Adding a static button and calling calendarButton_Click() explicitly does make the calendar visible.

            QB.
            don't want to use a static button though as there could be an un limited number of calender controls defined for that page.
            It is dynamic after all
            Coffee's for closers

            Comment


              #7
              Originally posted by TheRefactornator View Post
              Most of the useful stuff can't be done with ASP.NET out of the box, but there's always a way and usually someone has already done it before you

              Googled:
              http://www.devx.com/vb2themax/Tip/18850
              That one did the trick. I thought I had looked at every single google result for pop up calenders, obviously not

              I would have prefered divs but i'm happy with a new window popping up for now.

              That method was for ASP 1.0, took a bit of fiddling with to get it working in ASP 2 but the methods are still sound.
              Interestingly, setting the onclick method for a dynamic button does work for client side scripts, just not server side scripts.
              mycalendarButton.Attributes("OnClick") = "calendarButton_Click()"

              Thanks for that, much appreciated!
              Last edited by Spacecadet; 28 April 2008, 08:05.
              Coffee's for closers

              Comment


                #8
                Should have added:

                So much for this not being a proper technical forum
                Coffee's for closers

                Comment


                  #9
                  Originally posted by Spacecadet View Post
                  ASP 1.0 ... ASP 2
                  Its ASP.NET!!!!

                  Glad you solved your problem.

                  TM

                  Comment


                    #10
                    Originally posted by themistry View Post
                    Its ASP.NET!!!!

                    Glad you solved your problem.

                    TM
                    but doing a postback just to show a calendar.......
                    I would use the jquery datepicker, all clientside and much slicker
                    whats the lowest you can do this for?

                    Comment

                    Working...
                    X