date picker fungerer ikke med master.page
Hej,Jeg har fundet en date picker tutorial på nettet, som jeg har testet. Den fungerer perfekt, når jeg gør det i en almindelige aspx side...altså uden master.page.
Når jeg forsøger at splitte den op - i masterpage og aspx side, så lukker den pludselig ikke popup vinduet længere og overfører ikke datoen til tekstfeltet
Nogen der kan fortælle, hvor det er jeg gør noget forkert?
******kode til date picker uden master page fil*****
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="TestDatoPicker.aspx.cs" Inherits="TestDatoPicker" %>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Example Form</title>
<script language="javascript" type="text/javascript">
/// <summary>
/// Launches the DatePicker page in a popup window,
/// passing a JavaScript reference to the field that we want to set.
/// </summary>
/// <param name="strField">String. The JavaScript reference to the field that we want to set, in the format: FormName.FieldName
/// Please note that JavaScript is case-sensitive.</param>
function calendarPicker(strField)
{
window.open('DatePicker.aspx?field=' + strField,'calendarPopup','width=250,height=190,resizable=yes');
}
</script>
</head>
<body>
<form id="Form1" method="post" runat="server">
<asp:textbox id="txtEventDate" runat="server" maxlength="10" columns="10" style="TEXT-ALIGN: right"></asp:textbox>
<a href="java script:;" onclick="calendarPicker('Form1.txtEventDate');" title="Pick Date from Calendar">
pick</a>
</form>
</body>
</html>
*******Kode til Date Picker med Masterpage*****
I Masterpage:
<head runat="server">
<title>Test</title>
<link href="netstyle.css" rel="stylesheet" />
<script language="javascript" type="text/javascript">
/// <summary>
/// Launches the DatePicker page in a popup window,
/// passing a JavaScript reference to the field that we want to set.
/// </summary>
/// <param name="strField">String. The JavaScript reference to the field that we want to set, in the format: FormName.FieldName
/// Please note that JavaScript is case-sensitive.</param>
function calendarPicker(strField)
{
window.open('DatePicker.aspx?field=' + strField,'calendarPopup','width=250,height=190,resizable=yes');
}
</script>
</head>
aspx koden:
<asp:textbox id="txtEventDate" runat="server" maxlength="10" columns="10" style="TEXT-ALIGN: right"></asp:textbox>
<a href="java script:;" onclick="calendarPicker('Form1.txtEventDate');" title="Pick Date from Calendar">
pick</a>
******For begges vedkommende bruger jeg følgende Date picker side
aspx siden:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="DatePicker.aspx.cs" Inherits="DatePicker" %>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Dato vælger</title>
<style type="text/css">
table { font-size: 9pt; font-family: Verdana }
tr { font-size: 9pt; font-family: Verdana }
td { font-size: 9pt; font-family: Verdana }
a:link {color:#000000; text-decoration: none;}
a:visited {color: #000000; text-decoration: none;}
a:hover {color: #000000; text-decoration: none;)
</style>
</head>
<body style="padding: 0px; margin: 0px 0px 0px 0px; font-family: Verdana; font-size: 9pt;">
<form id="form1" runat="server">
<div style="vertical-align: middle; text-align: center">
<!--
todaysdaystyle = dagen i dags baggrundsfarve og tekstfarve
selectorstyle = ?
nextprevstyle = næste/forrige (pilene) måneds style
dayheaderstyle = Dagenes (teksten på dagene) style
selecteddaystyle = valgte dag style
titlestyle = titel style (måneds angivelse i tekst)
othermonthdaystyle = de dage, der ikke hører til pågældende måned
-->
<asp:calendar id="Calendar1" runat="server" showgridlines="True" bordercolor="Black" OnDayRender="Calendar1_DayRender">
<todaydaystyle forecolor="White" backcolor="#7EAACB"></todaydaystyle>
<selectorstyle backcolor="#ffffff"></selectorstyle>
<nextprevstyle font-size="9pt" forecolor="#ffffff"></nextprevstyle>
<dayheaderstyle height="1px" backcolor="#7EAACB"></dayheaderstyle>
<selecteddaystyle font-bold="True" backcolor="#B4CDE0"></selecteddaystyle>
<titlestyle font-size="9pt" font-bold="True" forecolor="#ffffff" backcolor="#2F5673"></titlestyle>
<othermonthdaystyle forecolor="#000000" BackColor="#E5E5E5"></othermonthdaystyle>
</asp:calendar>
</div>
</form>
</body>
</html>
aspx.cs siden:
protected void Calendar1_DayRender(object sender, DayRenderEventArgs e)
{
// Clear the link from this day
e.Cell.Controls.Clear();
// Add the custom link
System.Web.UI.HtmlControls.HtmlGenericControl Link = new System.Web.UI.HtmlControls.HtmlGenericControl();
Link.TagName = "a";
Link.InnerText = e.Day.DayNumberText;
Link.Attributes.Add("href", String.Format("java script:window.opener.document.{0}.value = \'{1:d}\'; window.close();", Request.QueryString["field"], e.Day.Date));
// By default, this will highlight today's date.
if (e.Day.IsSelected)
{
Link.Attributes.Add("style", this.Calendar1.SelectedDayStyle.ToString());
}
// Now add our custom link to the page
e.Cell.Controls.Add(Link);
}
mvh
simsen :-)