Solved

ASP.NET Calendar Control Weird

Posted on 2004-03-24
9
343 Views
Last Modified: 2012-06-21
OK I'm using .NET 1.1 with a calendar control.  When I put the calendar control on an .aspx it works just fine.  When I bring the calendar (exact same function in the code behind) to a user control it no longer works.  It gives me a javascript error: "Object expected".  Any idea what is going on?  Is my user control not passing the event up to the page level?
0
Comment
Question by:srobia
  • 4
  • 3
  • 2
9 Comments
 
LVL 4

Expert Comment

by:locitt
ID: 10675132
when you bring the calendar control to a user control, the id of the calendar control at client side is changed as UserControlID_CalendarControlId, so if you refer to the calendar id at client side, it will cause an "object expected" error.

that's 1 possibilitym, send your code.

locitt.
0
 

Author Comment

by:srobia
ID: 10683531
here is the control code (I am using a basepage):

<form runat="server" ID="Form1" method="post">
      <table border="0" cellpadding="0" cellspacing="0">
            <tr>
                  <td valign="top" style="HEIGHT: 16px">
                        <asp:TextBox id="txtDate" runat="server" Width="100px"></asp:TextBox>
                  </td>
                  <td valign="top" style="HEIGHT: 16px">
                        <asp:Button id="btnSelect" runat="server" Text="Select"></asp:Button>
                  </td>
            </tr>
            <tr>
                  <td valign="top" colspan="2">
                        <asp:Calendar id="calDate" runat="server" Width="160px" BackColor="White"
DayNameFormat="FirstLetter" ForeColor="Black" Height="180px" Font-Size="8pt" Font-Names="Verdana" BorderColor="#999999"CellPadding="4" Visible="True" onselectionchanged="calDate_SelectionChanged"></asp:Calendar>
                  </td>
            </tr>
      </table>
</form>
<P></P>

And here is the code behind for the control:
 Protected Sub calDate_SelectionChanged(ByVal sender As Object, ByVal e As EventArgs)
        Dim dtDate As System.DateTime = calDate.SelectedDate
        txtDate.Text = dtDate.ToShortDateString()
    End Sub


And here is the page (again I am using a basepage):
<%@ Register tagprefix="body" tagname="body" src="calControl.ascx" %>
      <body:body runat="Server" ID="body" NAME="body" />

Thanks!!
0
 
LVL 4

Expert Comment

by:locitt
ID: 10687643
and when do u get the error? did u click sth when the page is loaded and get error?

locitt.
0
 

Author Comment

by:srobia
ID: 10688617
I get the error when I click on a date.  The page loads fine and displays the calendar.  It just doesn't work when I click on a date on the calendar.

Thanks!!
0
What Security Threats Are You Missing?

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

 
LVL 9

Expert Comment

by:msdixon
ID: 10688898
add a try / catch block around that method... what's the runtime error?

i just recreated your control, put it in a web page, and it works fine.

Protected Sub calDate_SelectionChanged(ByVal sender As Object, ByVal e As EventArgs)
      Try
            Dim dtDate As System.DateTime = calDate.SelectedDate
            txtDate.Text = dtDate.ToShortDateString()
      Catch ex as Exception
            Response.Write(ex.ToString());
      End Try
End Sub
0
 

Author Comment

by:srobia
ID: 10690379
I've tried putting a breakpoint on the code, but the client side never gets to call it because it screams about the javascript error: "Object Unidentified"
0
 
LVL 9

Expert Comment

by:msdixon
ID: 10690579
sounds like you don't have the javascript files there.

for the default installation of iis you should see the following (assuming .net 1.1):
C:\Inetpub\wwwroot\aspnet_client\system_web\1_1_4322

this should have three files in it:
SmartNav.htm
SmartNav.js
WebUIValidation.js

in this instance, the SmartNav.js is the file it's looking for.
0
 
LVL 4

Accepted Solution

by:
locitt earned 125 total points
ID: 10696730
cause you use BasePage, so i might cause the problem. How about try to debug javascript with VS.NET. Try to turn on JavaScript debuging in IE's options (Tools\Options)...

I think the __doPostBack function doesnot exist in the page.

locitt.
0
 

Author Comment

by:srobia
ID: 10757773
It was the base page issue -- I just moved the code up to the page level and everything was fixed.  Thanks for the help!!
0

Featured Post

How to improve team productivity

Quip adds documents, spreadsheets, and tasklists to your Slack experience
- Elevate ideas to Quip docs
- Share Quip docs in Slack
- Get notified of changes to your docs
- Available on iOS/Android/Desktop/Web
- Online/Offline

Join & Write a Comment

Flash (http://en.wikipedia.org/wiki/Adobe_Flash) has evolved over the years to where it has become a masterful tool for displaying content screen.  It has excellent layout placement, UI precision as well as rendering capabilities. This, along with t…
It seems a simple enough task, yet I see repeated questions asking how to do it: how to pass data between two forms. In this article, I will show you the different mechanisms available for you to do just that. This article is directed towards the .N…
Get a first impression of how PRTG looks and learn how it works.   This video is a short introduction to PRTG, as an initial overview or as a quick start for new PRTG users.
This video explains how to create simple products associated to Magento configurable product and offers fast way of their generation with Store Manager for Magento tool.

746 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now