asp .net mobile + javascript
Publicado por adurji (1 intervención) el 04/04/2008 12:06:55
Hola a todos,
estoy desarrollando una pequeña aplicación web para un Pocket PC
Symbol (Windows Mobile 5.0).
Este terminal tiene un lector de código de barras.
La aplicación se basa, principalmente, en un textbox en el que se va a
hacer una lectura de un código de barras. Automáticamente se hará una
coprobación, si no es el código de barras esperado debe sonar un
pitido o algún tipo de beep (yo he puesto un .wav) que le haga saber
al usuario que algo pasa.
Todo esto está prácticamente hecho, pero tengo dos problemas para los
cuales creo que debe meter javascript:
- Que inicialmente el foco se encuentre en el textbox.
- Hacer sonar el pitido en el terminal.
He mirado en un montón de foros problemas similares y las soluciones
que se proponen o no me sirven o las estoy aplicando mal.
Encontré un ejemplo de como usar javascript en una aplicación asp .net
mobile, trataba de un textbox y de un label que hacía de contador de
caracteres del textbox, según se metía un caracter se actualizaa el
label. Copié tal cual el ejemplo y en el portatil me funciona de
maravilla pero con el terminal solo me sale el textbox. El ejemplo es
este:
Test_Javascript_CSharp.aspx
<%@ Register TagPrefix="mobile"
Namespace="System.Web.UI.MobileControls" Assembly="System.Web.Mobile"
%>
<html xmlns="http://www.w3.org/1999/xhtml">
<body>
<mobile:Form ID="Form1" Runat="server">
<mobile:DeviceSpecific ID="DeviceSpecific3" Runat="server">
<Choice Filter="supportsJavaScript" Xmlns="http://
schemas.microsoft.com/mobile/html32template">
<ScriptTemplate>
<script type="text/javascript">
<!--
function ShowTypedText(txt1, l1) {
document.getElementById(l1).innerHTML =
document.getElementById(txt1).value.length;
}
//-->
</script>
</ScriptTemplate>
</Choice>
</mobile:DeviceSpecific>
<mobile:Panel ID="Panel1" Runat="server">
<mobile:DeviceSpecific ID="DeviceSpecific1"
Runat="server">
<Choice Xmlns="http://schemas.microsoft.com/mobile/
html32template">
<ContentTemplate>
<asp:Label ID="Label1" runat="server" />
</br>
<asp:TextBox ID="TextBox1" runat="server"></
asp:TextBox>
</ContentTemplate>
</Choice>
</mobile:DeviceSpecific>
</mobile:Panel>
</mobile:Form>
</body>
</html>
Test_Javascript_CSharp.aspx.cs
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.Mobile;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.MobileControls;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
public partial class wap_Test_JavaScript2_CSharp :
System.Web.UI.MobileControls.MobilePage
{
protected void Page_Load(object sender, EventArgs e)
{
System.Web.UI.WebControls.TextBox tBox1 =
Panel1.Content.FindControl("TextBox1") as
System.Web.UI.WebControls.TextBox;
System.Web.UI.WebControls.Label l1 =
Panel1.Content.FindControl("Label1") as
System.Web.UI.WebControls.Label;
tBox1.Attributes.Add("onkeyup", "javascript:ShowTypedText('" +
tBox1.ClientID + "','" + l1.ClientID + "')");
}
}
Puede que sea un ejemplo incompleto para hacerlo funcionar en un
pocket pc? Como podría aplicarlo a mi caso?
Le ha dado mil vueltas y no encuentro la manera, así que cualquier
ayuda me sería de grandísima utilidad.
Muchísimas gracias y un saludo!
estoy desarrollando una pequeña aplicación web para un Pocket PC
Symbol (Windows Mobile 5.0).
Este terminal tiene un lector de código de barras.
La aplicación se basa, principalmente, en un textbox en el que se va a
hacer una lectura de un código de barras. Automáticamente se hará una
coprobación, si no es el código de barras esperado debe sonar un
pitido o algún tipo de beep (yo he puesto un .wav) que le haga saber
al usuario que algo pasa.
Todo esto está prácticamente hecho, pero tengo dos problemas para los
cuales creo que debe meter javascript:
- Que inicialmente el foco se encuentre en el textbox.
- Hacer sonar el pitido en el terminal.
He mirado en un montón de foros problemas similares y las soluciones
que se proponen o no me sirven o las estoy aplicando mal.
Encontré un ejemplo de como usar javascript en una aplicación asp .net
mobile, trataba de un textbox y de un label que hacía de contador de
caracteres del textbox, según se metía un caracter se actualizaa el
label. Copié tal cual el ejemplo y en el portatil me funciona de
maravilla pero con el terminal solo me sale el textbox. El ejemplo es
este:
Test_Javascript_CSharp.aspx
<%@ Register TagPrefix="mobile"
Namespace="System.Web.UI.MobileControls" Assembly="System.Web.Mobile"
%>
<html xmlns="http://www.w3.org/1999/xhtml">
<body>
<mobile:Form ID="Form1" Runat="server">
<mobile:DeviceSpecific ID="DeviceSpecific3" Runat="server">
<Choice Filter="supportsJavaScript" Xmlns="http://
schemas.microsoft.com/mobile/html32template">
<ScriptTemplate>
<script type="text/javascript">
<!--
function ShowTypedText(txt1, l1) {
document.getElementById(l1).innerHTML =
document.getElementById(txt1).value.length;
}
//-->
</script>
</ScriptTemplate>
</Choice>
</mobile:DeviceSpecific>
<mobile:Panel ID="Panel1" Runat="server">
<mobile:DeviceSpecific ID="DeviceSpecific1"
Runat="server">
<Choice Xmlns="http://schemas.microsoft.com/mobile/
html32template">
<ContentTemplate>
<asp:Label ID="Label1" runat="server" />
</br>
<asp:TextBox ID="TextBox1" runat="server"></
asp:TextBox>
</ContentTemplate>
</Choice>
</mobile:DeviceSpecific>
</mobile:Panel>
</mobile:Form>
</body>
</html>
Test_Javascript_CSharp.aspx.cs
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.Mobile;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.MobileControls;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
public partial class wap_Test_JavaScript2_CSharp :
System.Web.UI.MobileControls.MobilePage
{
protected void Page_Load(object sender, EventArgs e)
{
System.Web.UI.WebControls.TextBox tBox1 =
Panel1.Content.FindControl("TextBox1") as
System.Web.UI.WebControls.TextBox;
System.Web.UI.WebControls.Label l1 =
Panel1.Content.FindControl("Label1") as
System.Web.UI.WebControls.Label;
tBox1.Attributes.Add("onkeyup", "javascript:ShowTypedText('" +
tBox1.ClientID + "','" + l1.ClientID + "')");
}
}
Puede que sea un ejemplo incompleto para hacerlo funcionar en un
pocket pc? Como podría aplicarlo a mi caso?
Le ha dado mil vueltas y no encuentro la manera, así que cualquier
ayuda me sería de grandísima utilidad.
Muchísimas gracias y un saludo!
Valora esta pregunta


0