Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Dropdown calender

Postades av 2007-04-26 12:21:12 - patrik ranhed, i forum asp.net generellt, Tråden har 5 Kommentarer och lästs av 919 personer

Hejsan!
Jag försöker göra en dropdown kalender och hittade en bra artikel här på Pellesoft om detta(http://www.pellesoft.se/area/articles/article.aspx?artid=816). Fast i artikeln så gjordes kontrollen i asp.net 1.1 och jag vill göra den i 2.0. En metod som används i artikeln är Page.RegisterClientScriptBlock() men denna finns inte längre i asp.net 2.0.

Har letat runt på nätet och kommit fram till att de har byggt om metoden och den ser ut som följer:

Dim instance As ClientScriptManager
Dim type As Type
Dim key As String
Dim script As String

instance.RegisterClientScriptBlock(type, key, script).

Jag har försökt att bygga om kontrollen med den nya metoden men har inte fått det att fungera.

Så här har jag gjort:

-----CalenderDropDownControl.ascx ------
<%@ Control Language="VB" AutoEventWireup="false" CodeFile="CalenderDropDownControl.ascx.vb" Inherits="ASCX_CalenderDropDownControl" %>
<asp:TextBox id="TextBox1" runat="server"></asp:TextBox>
<asp:Button ID="btnGetDate" Text="..." Runat="server" /><br>
<div id="div<%=Me.ID%>" style="visibility: hidden; POSITION: absolute">

<asp:Calendar id="Calendar1" runat="server" BorderWidth="2px"
BackColor="White" Width="200px"
ForeColor="Black" Height="180px" Font-Size="8pt"
Font-Names="Verdana" BorderColor="#999999"
BorderStyle="Outset" DayNameFormat="FirstLetter" CellPadding="4">
<TodayDayStyle ForeColor="Black" BackColor="#CCCCCC"></TodayDayStyle>
<SelectorStyle BackColor="#CCCCCC"></SelectorStyle>
<NextPrevStyle VerticalAlign="Bottom"></NextPrevStyle>
<DayHeaderStyle Font-Size="7pt" Font-Bold="True" BackColor="#CCCCCC"></DayHeaderStyle>
<SelectedDayStyle Font-Bold="True" ForeColor="White" BackColor="#666666"></SelectedDayStyle>
<TitleStyle Font-Bold="True" BorderColor="Black" BackColor="#999999"></TitleStyle>
<WeekendDayStyle BackColor="#FFFFCC"></WeekendDayStyle>
<OtherMonthDayStyle ForeColor="#808080"></OtherMonthDayStyle>
</asp:Calendar>
</div>


-----CalenderDropDownControl.ascx.vb ------

Public ReadOnly Property GetDate() As String
' Get
' Return Me.TextBox1.Text
' End Get
End Property

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Dim OnClick As String
Dim CSM As ClientScriptManager = Page.ClientScript

Dim type As Type = Me.GetType()


OnClick = "function OnClick(id)" & vbCrLf & _
"{" & vbCrLf & _
" if( isVisible(id) ) {" & vbCrLf & _
" hidelayer(id);" & vbCrLf & _
" } else {" & vbCrLf & _
" showlayer(id);" & vbCrLf & _
" }" & vbCrLf & _
"}" & vbCrLf

CSM.RegisterClientScriptBlock(type, "SwitchCalendar", _
"<script language='JavaScript'>" & vbCrLf & _
OnClick & vbCrLf & _
"</script>" & vbCrLf)
'Page.RegisterClientScriptBlock("SwitchCalendar", _
' "<script language='JavaScript'>" & VbCrLf & _
' OnClick & VbCrLf & _
' "</script>" & VbCrLf)

btnGetDate.Attributes.Add("OnClick", "OnClick('div" & Me.ID & "');return false;")
End Sub


Private Sub Calendar1_SelectionChanged(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Calendar1.SelectionChanged

TextBox1.Text = Calendar1.SelectedDate.ToShortDateString()
Dim div As System.Web.UI.Control = Page.FindControl("divCalendar")

If TypeOf div Is HtmlGenericControl Then
CType(div, HtmlGenericControl).Style.Add("display", "none")
End If
End Sub

---------ASPX sida----------------

<%@ Register TagPrefix="PDC" TagName="CalenderDropDownControl"
Src="CalenderDropDownControl.ascx" %>
<%@ Page Language="vb" AutoEventWireup="false" Codebehind="CalendarTest.aspx.vb" Inherits="pdc.CalendarTest" %>
<HTML>
<HEAD>
<title>CalendarTest</title>
<script language="javascript" src="include/functions.js"></script>
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<PDC:CalendarDropDownControl ID="myCal1" runat="server" /><br><br>
<PDC:CalendarDropDownControl ID="myCal2" runat="server" /><br><br>
<asp:Button Text="Submit" Runat="server" id="Button1" /><br><br>
<asp:Label ID="lblResult" Runat="server" />
</form>
</body>
</HTML>

------------------------------------
har även lagt till den js filen som finns i artikeln.

Har jag använt den nya metoden på fel sätt kanske, hoppas att något vet bättre.


Svara

Sv: Dropdown calender

Postades av 2007-04-26 13:29:10 - Martin Emanuelsson

Är inte svar på din fråga men istället för att bygga en egen calendar-kontroll så kanske den kontroll som ingår i ASP.NET AJAX Toolkit kan passa för dig? Finns att beskåda på http://ajax.asp.net/ajaxtoolkit/Calendar/Calendar.aspx


Svara

Sv:Dropdown calender

Postades av 2007-04-27 08:01:05 - patrik ranhed

Nej det var ingen svar på min fråga;)
Jag har kollat på de kontrollerna också och använt mig utav dem, det var bara av ren nyfikenhet som jag försökte återskapa den kontrollen som beskrevs i artikeln men sen blev jag irriterad när jag inte får det att fungera så jag ligger sömnlös om nätterna;)


Svara

Sv: Dropdown calender

Postades av 2007-04-27 09:05:50 - Martin Emanuelsson

OK, då får jag försöka hjälpa dig med din kontroll istället då :-)

Till att börja med, Page.RegisterClientScriptBlock finns fortfarande kvar i ASP.NET 2.0 men är satt som obsolete vilket innebär att det finns ett nyare och antagligen bättre alternativ till den här funktionen. I det här fallet så kan du då istället skriva:

<code>
Page.ClientScript.RegisterClientScriptBlock(Me.GetType, "SwitchCalendar", _
"<script language='JavaScript'>" & vbCrLf & _
OnClick & vbCrLf & _
"</script>" & vbCrLf)
</code>

Du behöver alltså inte, eller ska kanske inte, använda dig av ClientScriptManager här. Jag har testat med koden på sidan och det funkar bra.

/Martin


Svara

Sv:Dropdown calender

Postades av 2007-04-30 08:24:38 - patrik ranhed

Hej!
Jo jag provade med det som du skrev innan jag använde mig av ClientScriptManager men eftersom det inte fungerade så började jag använda ClientScriptManager.

Men jag tror att jag kommit på varför det inte fungerar. Jag stressade nog lite snabbt fram utan att tänka efter, det har nog fungerat hela vägen för mig. Problemet var att sidan som jag använde scriptet på hela tiden laddade om sig så kontrollen började om hela tiden innan jag hann se något. ;)

Men tack för att du tog dig tid

//Patrik


Svara

Sv: Dropdown calender

Postades av 2007-04-30 12:44:05 - Ted Nyberg

När man registrerar scriptblock bör man alltid använda ett script-id så att man kan kolla om ett script redan är registrerat innan man försöker lägga till det. En av överlagringarna för Register-metoderna tillåter att man ger scripttillägget ett unikt namn. Sedan finns det en metod för att se om ett visst script redan är registrerat så att man kan undvika att försöka lägga till script som redan registrerats.


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 170
27 953
271 705
681
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies