Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Ajax ASP eller .NET

Postades av 2006-09-23 01:21:37 - Magnus Hallberg, i forum javascript/dhtml, Tråden har 13 Kommentarer och lästs av 1100 personer

Håller på att bygga en sida med Atlas, men kom inte på hur jag skulle lösa sökningen med Atlas så jag tänkte göra den med Ajax istället. jag har gjort detta med klassisk ASP innan, men nu vill det inte fungera. Är det någon som kan se vad jag har gjort för fel? Jag har haft alertrutor ute på sidan och de får jag fram. jag tror det är nåt i aspxfilen som inte stämmer, eventet är onkeyup. Jag får inget felmeddelande, bara den där lilla varningstriangeln nere till vänster i IE. det står "Unknown runtime error" så det är ju nåt som går galet när jag kör filen raden är över 120 men jag har bara ca: 80 rader i filen. Så det är ju inget att gå på.

javascript:
<code>
<script language="javascript" type="text/javascript">
var xmlHttp = GetXmlHttpObject(); // Stores the object in a variable...

function showSearch(_user)
{

var user = _user;

// if (user.length >=0)
// {
// document.getElementById("laySearch").visibility = 'false';
// return;
// }
xmlHttp = GetXmlHttpObject();
if(xmlHttp == null) // If the xml object is null...
{
alert("Din webläsare stöder inte HTTP request"); // shows an alert box for the user...
return;
}


var myUrl = "searchThreadSmall.aspx"; // Building the querystring...

myUrl = myUrl + "?user=" + user;
xmlHttp.onreadystatechange = stateChanged;
xmlHttp.open("GET", myUrl, true); // Open the object...

xmlHttp.send(null); // Sends the object...

}

function stateChanged()
{
if (xmlHttp.readyState == 4 || xmlHttp.readyState=="complete") // If the transfer is complete...
{
document.getElementById("laySearch").innerHTML=xmlHttp.responseText; // Shows the result in the div...
}
}

function GetXmlHttpObject()
{
//var objXMLHttp=null;
if (window.ActiveXObject) { // IE
//alert("IE");
objXMLHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if (window.XMLHttpRequest) // If the browser is none IE...
{
//alert("FF");
objXMLHttp=new XMLHttpRequest();
objXMLHttp.overrideMimeType("text/xml");
}
else
alert("FEL");

return objXMLHttp;
}
</script>
</code>

searchThreadSmall.aspx
<code>

<div>
<asp:GridView ID="GridView1" runat="server" DataSourceID="sdsSearch" AutoGenerateColumns="true">
</asp:GridView>
</div>

<asp:SqlDataSource ID="sdsSearch" runat="server" SelectCommandType="StoredProcedure" SelectCommand="getSearch"
ProviderName="System.Data.SqlClient" ConnectionString="<%$ ConnectionStrings:myConnString %>">
<SelectParameters>
<asp:QueryStringParameter Name="user" QueryStringField="user" />
</SelectParameters>
</asp:SqlDataSource>
</code>


Svara

Sv: Ajax ASP eller .NET

Postades av 2006-09-23 02:05:31 - Oskar Johansson

Varför inte lösa problemet med Atlas istället?


Svara

Sv:Ajax ASP eller .NET

Postades av 2006-09-23 02:45:22 - Magnus Hallberg

Jag vet inte vilka/vilken kontroll jag ska använda och jag hittar inget på nätet om det. Det är en sökfunktion jag ska göra. Den ska fungera som autocomplete men jag vill ha ut svaren i en panel eller label eller liknande. Vilken/vilka kontroller ska jag använda för att lösa det med Atlas. Det vore det bästa om det gick.


Svara

Sv: Ajax ASP eller .NET

Postades av 2006-09-23 11:11:38 - Göran Andersson

> Jag får inget felmeddelande, bara den där lilla varningstriangeln nere till vänster i IE.

Det beror på att du inte har valt att felmeddelandena ska visas. Dubbelklicka på varningsskylten så kommer felmeddelandet upp.


Svara

Sv: Ajax ASP eller .NET

Postades av 2006-09-23 13:59:59 - Oskar Johansson

http://atlas.asp.net/docs/Walkthroughs/GetStarted/ServerAutoComplete.aspx


Svara

Sv:Ajax ASP eller .NET

Postades av 2006-09-23 19:04:08 - Magnus Hallberg

jag får inte det att funka med nåt annat är textbox. Går det verklien att använda det till panel eller liknande?


Svara

Sv: Ajax ASP eller .NET

Postades av 2006-09-23 23:29:46 - Oskar Johansson

> jag får inte det att funka med nåt annat är textbox.

Hela idén med autocomplete är ju att man skriver början på en text och sedan får man förslag på fortsättningar i en lista. I en panel kan man ju inte skriva något, så då är det väl inte konstigt att det inte fungerar..?


Svara

Sv:Ajax ASP eller .NET

Postades av 2006-09-23 23:50:18 - Magnus Hallberg

Tror du missförtår mig lite:) Alltså givetvis måste jag skriva i en textbox men jag vill att förslagen kommer ut i en panel, label eller nåt sånt. http://www.prisjakt.nu har en sån funktion. Det är en sådan jag vill åt.


Svara

Sv: Ajax ASP eller .NET

Postades av 2006-09-24 00:10:34 - Oskar Johansson

Det är ju inte en autocomplete funktion du vill ha nu ju...

Lägg din lista med sökresultat i en updatepanel, sätt att den ska uppdatera conditional. Se till att den triggas på textchanged-eventet på textboxen. Lägg med kod till ett attribut på textboxen i stil med:

this.textboxen.Attributes.Add("onkeypress", this.ClientScript.GetPostBackEventReference("", this.textboxen));

så kommer din lista hämtas från servern varje gång man skriver någonting. Lägg förslagsvis till ett enkelt js-test där du kollar om texten har ändrats, eller om bara t.ex. en piltangent trycktes ned. På servern uppdaterar du din lista i TextChanged-eventet för textboxen.


Svara

Sv:Ajax ASP eller .NET

Postades av 2006-09-24 08:40:16 - Magnus Hallberg

Sorry att jag blandade ihop det, jag ska testa det.


Svara

Sv: Ajax ASP eller .NET

Postades av 2006-09-24 15:42:20 - Magnus Hallberg

Detta tar knäcken på mig. jag hittade en artikel på nätet som jag trodde var till hjälp. jag tycker att det borde fungera men det gör det inte. jag förstår inte riktigt var jag ska lägga koden Oskar visar heller. Jag är väldigt ny på Atlas. Hoppas ni har lite mer tålamod med mig :) Detta är bara för att testa så jag får delen av sidan att uppdateras när jag vill. Därför är koden lite luddig.
<code>
<div id="laySearch" style="float:left">
<asp:TextBox ID="txtSearchPost" AutoPostBack="true" runat="server" CssClass="regTex" OnTextChanged="txtSearchPost_TextChanged" /><br /><br />
</div>
<atlas:UpdatePanel ID="up3" runat="server" Mode="Conditional">
<Triggers><atlas:ControlEventTrigger ControlID="txtSearchPost" EventName="TextChanged" /></Triggers>
<ContentTemplate>
<div style="float:left;"> <asp:Label ID="lblTest" runat="server" />
<asp:GridView ID="gvSearchPost" runat="server" DataSourceID="sdsSearchPost">
</asp:GridView>
</div>
</ContentTemplate>
</atlas:UpdatePanel>
</div>
</code>
code behind
<code>
protected void txtSearchPost_TextChanged(object sender, EventArgs e)
{
lblTest.Text = txtSearchPost.Text.ToString();
}
</code>

----------------------------------------EDIT-----------------------------------------
Som det är nu får jag fram texten som jag ahr skrivit i textboxen i min label när jag lämnar fokus från textboxen


Svara

Sv:Ajax ASP eller .NET

Postades av 2006-09-24 18:21:40 - Oskar Johansson

Du missade följande rad som jag skrev:

?
1
this.textboxen.Attributes.Add("onkeypress", this.ClientScript.GetPostBackEventReference("", this.textboxen));


Den är kritisk då den ser till att posta sidan varje gång man trycker på ett tecken i rutan (finns det rentav ett js-event som triggas just när texten ändras och ingenting annat också?)


Svara

Sv: Ajax ASP eller .NET

Postades av 2006-09-24 19:15:41 - Magnus Hallberg

tackar för du inte ger upp Oskar :) Nu har jag denna kod
<code>
protected void txtSearchPost_TextChanged(object sender, EventArgs e)
{

this.txtSearchPost.Attributes.Add("onkeypress", this.Page.GetPostBackEventReference(this.txtSearchPost));
string user = txtSearchPost.Text.ToString();
sdsSearchPost.SelectParameters.Clear();
sdsSearchPost.SelectCommand = "getSearch";
sdsSearchPost.SelectCommandType = SqlDataSourceCommandType.StoredProcedure;
sdsSearchPost.SelectParameters.Add("user", TypeCode.String, user);
sdsSearchPost.SelectParameters[0].Direction = ParameterDirection.Input;
}
</code>
Men det är som innan jag får fram rätt värde när fokus tas från textboxen.


Svara

Sv:Ajax ASP eller .NET

Postades av 2006-09-24 23:31:51 - Oskar Johansson

Alltså, vad följande kod gör:

?
1
this.txtSearchPost.Attributes.Add("onkeypress", this.Page.GetPostBackEventReference(this.txtSearchPost));


är att lägga till onkeypress="__dopoastback(blaha, blaha)" till <input>-taggen. Det måste således läggas till innan postbacken görs, dvs. i t.ex. page_load. TextChanged körs ju nämligen inte förrens vid första postbacken...


Svara

Nyligen

  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper
  • 16:36 Allt du behöver veta om keramiskt
  • 16:14 Vem anlitar man egentligen när tak
  • 16:14 Vem anlitar man egentligen när tak
  • 16:13 Vem anlitar man egentligen när tak
  • 11:52 Noen erfaring med uttak hos Mostbe
  • 11:51 Noen erfaring med uttak hos Mostbe

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 584
27 958
271 741
6 335
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies
Expand
next previous
Close

Previous

0/0

Next