Benutzer mit den meisten Antworten
Usercontrol mit jquery timepicker

Frage
-
Hallo,
ich möchte in ein Usercontrol den Timepicker (Link) einbauen.
Wenn ich bei dem Control id="TimeInput" das Attribut runat="server" hinzufüge, werden die Javascripts nicht mehr ausgeführt. Das runat brauche ich weil ich serverseitig die Zeit setzen will. Ohne runat in TimeInput funktioniert es.
Hier ist der Code:
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="uhrzeit.ascx.cs" Inherits="usercontrols.uhrzeit" %> <script type="text/javascript"> $(function () { $('#TimeInput').timepicker({ 'timeFormat': 'H:i' }); }); </script> <input id="TimeInput" type="text" class="time"/>
Die Page_Load Methode:
protected void Page_Load(object sender, EventArgs e) { LiteralControl jsResource = new LiteralControl(); jsResource.Text = "<script type=\"text/javascript\" src=\"../../jquery/timepicker/jquery.min.js\"></script>"; Page.Header.Controls.Add(jsResource); jsResource = new LiteralControl(); jsResource.Text = "<script type=\"text/javascript\" src=\"../../jquery/timepicker/jquery.timepicker.js\"></script>"; Page.Header.Controls.Add(jsResource); HtmlLink stylesLink = new HtmlLink(); stylesLink.Attributes["rel"] = "stylesheet"; stylesLink.Attributes["type"] = "text/css"; stylesLink.Href = "../../jquery/timepicker/jquery.timepicker.css"; Page.Header.Controls.Add(stylesLink); stylesLink = new HtmlLink(); stylesLink.Attributes["rel"] = "stylesheet"; stylesLink.Attributes["type"] = "text/css"; stylesLink.Href = "../../jquery/timepicker/site.css"; Page.Header.Controls.Add(stylesLink); }
Habt Ihr eine Idee. Ich sehe das Problem / die Lösung nicht.
Danke
Andreas
- Bearbeitet AndreasM85 Sonntag, 13. Juli 2014 18:18
Antworten
-
Hallo Andreas,
durch runat="server" erhält das Control auf dem Client eine ID im Stil von "ctl00_TimeInput". Das kannst Du umgehen, indem Du zusätzlich ClientIdMode="Static" im Control angibst, also bspw. so:
<input id="TimeInput" type="text" class="time" runat="server" clientidmode="Static" />
oder:
<asp:TextBox id="TimeInput" runat="server" CssClass="time" ClientIdMode="Static" />
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community- Als Antwort markiert AndreasM85 Sonntag, 13. Juli 2014 18:43
Alle Antworten
-
Hallo Andreas,
durch runat="server" erhält das Control auf dem Client eine ID im Stil von "ctl00_TimeInput". Das kannst Du umgehen, indem Du zusätzlich ClientIdMode="Static" im Control angibst, also bspw. so:
<input id="TimeInput" type="text" class="time" runat="server" clientidmode="Static" />
oder:
<asp:TextBox id="TimeInput" runat="server" CssClass="time" ClientIdMode="Static" />
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community- Als Antwort markiert AndreasM85 Sonntag, 13. Juli 2014 18:43