Mobile Web Form e focus()...

venerdì 26 ottobre 2007 - 16.07

a.malisani Profilo | Newbie

sto cercando di usare la proprieta focus in un mobile web form con controlli mobile web form...
il buon visual studio mi lascia compilare il progetto ma apppena accedo alla pagine con presente il focus mi ritorna questo errore:

System.InvalidOperationException
Per poter utilizzare SetFocus() o la proprietà Focus, è necessario che in Page sia presente un tag Form con runat=server.

CHE COSA POSSO FARE? il focus mi serve!!!

pozzoli.samuele Profilo | Senior Member

Come in tutte le webform, tutta la pagina deve essere in un form runat="Server"... Quindi una cosa del genere:

<html>
<head>

</head>
<body>
<form id="Form1" runat="server">

</form>
</body>
</html>

L'errore, detto così, sembra essere dovuto al fatto che è sparito il form...

Dicci se c'è.

a.malisani Profilo | Newbie

il punto è che c'e' gia il tag!
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="PROVEPALMARE.aspx.cs" Inherits="Palmare_PROVEPALMARE" %>
<%@ 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" BackColor="AliceBlue"> <mobile:Label ID="L_INPUT" Runat="server">
</mobile:Label> <mobile:TextBox
ID="TB_INPUT" Runat="server" OnTextChanged="TB_INPUT_TextChanged">
</mobile:TextBox> <mobile:Label ID="L_TEST" Runat="server"></mobile:Label> <mobile:Label
ID="Label2" Runat="server">LOCAZIONE :</mobile:Label>
<mobile:Label ID="L_LOCAZIONE" Runat="server">
</mobile:Label>
<mobile:Command ID="B_INSERISCI" Runat="server" OnClick="B_INSERISCI_Click">INSERISCI</mobile:Command> <mobile:Command ID="Command3" Runat="server" OnClick="Command3_Click">MENU PRINCIPALE</mobile:Command></mobile:Form>
</body>
</html>

a.malisani Profilo | Newbie

Ok c'e' l'ho fatta, non è bellissimo ma funziona.

protected void Page_Load(object sender, EventArgs e)
{
Response.Write("<Script for=\"window\" event=\"onload\" language=\"jscript\">;window.Form1.TB_INPUT.focus();</Script>");
}

mi rimane il dubbio su come fare se volessi assegnare dinamicamente il focus ma penso di risolverlo cosi:

if (!ClientScript.IsClientScriptBlockRegistered("TB_INPUT")){

Response.Write("<Script for=\"window\" event=\"onload\" language=\"jscript\">;window.Form1.TB_INPUT2.focus();</Script>");
}

CIAO
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5