15 messaggi dal 23 febbraio 2005
Salve a tutti,
ho visto nei precedenti messaggi la richiesta riguardo la possibilità di avere una maskedbox. Ho visto che la risposta è che se vuoi questa caratteristica devi utilizzare java script lato client. Nel mio caso purtroppo io utilizzo una gridview dove alcune colonne sono di tipo datetime. Per l'edititemtemplate io sono costretto ad utilizzare un comando server (textbox). Scusate la mia inesperienza, ma in questo caso sarà quindi impossibile usare codice lato client essendo costretto ad utilizzare un controllo server. Quindi non esiste una soluzione al formato datetime per esempio in una griglia oppure si puo utilizzare script js anche nei controlli server (non penso).
Grazie
Tiziano Ricci
3.165 messaggi dal 06 settembre 2002
Contributi | Blog
Ciao,

Certo che puoi usare Javascript, il javascript è solo un linguaggio per creare delle feature sul client quindi lo puoi utilizzare con qualunque controllo. Il tuo caso è un pò più complicato, quindi io ti suggerirei di prendere il toro per le corna e creare un controllo server che eredita da textbox ed ingloba il codice javascript necesario per formattare la data.

Se non hai mai sviluppato controlli all'inizio troverai un pò di difficoltà ma poi ti ritroverai il lavoro più avanti in quanto il controllo lo potrai riutilizzare in tutte le applicazioni che sviluppi.

HTH

Nothing can be born from hartred

Stefano (SM15455) Mostarda
http://blogs.aspitalia.com/SM15455
Rome Italy
11 messaggi dal 19 maggio 2006
Ciao,
Scusa se ti chiedo un'ultima cosa,
ho visto che nei controlli server a diffenza dei controlli html (lato client) non sono mappati tutti gli eventi (per esempio OnkeyPress utile per risolvere il mio problema. Capisco che OnKeyPress come tanti altri eventi (onmouseover) non sono eventi server ma client (naturalmente) ma come posso quindi scrivere una funzione del tipo:

<script language="javascript" type="text/javascript">
// <!CDATA[
function Text1_onKeyPress() {
}
// ]]>
</script>
<input id="Text1" style="left: -102px; position: relative; top: 48px" type="text" onkeypress="return Text1_onKeyPress()" />

per un controllo server?
Tu mi hai detto che non ci sono problemi a scrivere codice lato client anche per un controllo server ma non capisco come?
Ti ringrazio
Tiziano

Tiziano Ricci
3.165 messaggi dal 06 settembre 2002
Contributi | Blog
Ciao,

se crei un controllo server, fai l'override dell'evento addatributestorender o simile e aggiungi un attributo onkeypress con il nome della funzione javascript.

nel metodo devi scrivere qualcosa tipo
writer.addattribute("onkeypress", "metodo");

poi nel javascript della pagina devi solo mettere la funzione javascript. la cosa miglioresarebbe creare una proprietà per impostare il nome del metodo, ma per cominciare puoi anche petterlo fisso.

HTH

Nothing can be born from hartred

Stefano (SM15455) Mostarda
http://blogs.aspitalia.com/SM15455
Rome Italy
11 messaggi dal 19 maggio 2006
Ciao, ho provato a fare quello che gentilmente mi hai suggerito ma putroppo non ottengo i risultati sperati.
Ho creato una libreria di Web Control è all'interno ho inserito una classe del tipo:
Imports System.Web
Imports System.Security.Permissions

<AspNetHostingPermission(SecurityAction.Demand, Level:=AspNetHostingPermissionLevel.Minimal)> _
Public Class MyTextBox
Inherits System.Web.UI.WebControls.TextBox
Protected Overrides Sub AddAttributesToRender(ByVal writer As System.Web.UI.HtmlTextWriter)
writer.AddAttribute("onkeypress", "myonkeypress")
MyBase.AddAttributesToRender(writer)
End Sub
End Class
Sono andato nella mia WebApp di prova ho referenziato la mia dll è nella component library ho inserito il mio TextBox. Vado a inserirlo nella pagina Aspx e in origine (html) il sistema non mi vede l'evento onmykeypress mi da errore. Dove sbaglio???
Volevo sottolineare il fatto che a me servirebbe il comando server textbox per il successivo databinding dei dati.
Ti ringrazio
Tiziano

Tiziano Ricci

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.