219/2007
Hade lite problem med att en ImageButton gjorde postback hela tiden, fast jag ville köra ett eget JavaScript. Trixet är att se till att return false; är med i slutet av JavaScript-anropet som jag läste om här.
<asp:TextBox ID="tbSearch" runat="server" />
<asp:ImageButton id="ibSearch"
OnClientClick="do_search();return false;"
ImageUrl="search-button.gif" runat="server" />
<script type="text/JavaScript">
function do_search()
{
window.location.href="search-results.aspx?s=" + document.getElementById('<%=tbSearch.ClientID %>').value;
}</script>
Av Jesper Lind
199/2007
De flesta har någon gång stött på problemet med att man vill spara information mellan olika sidor och/eller olika postbacks. Då blir sessions ofta en sista utväg om något annat alternativ inte går att använda. Här visar vi ett enkelt och snyggt sätt att använda Sessionobjectet som vilken variabel som helst. Vi visar hur man enkelt kan spara en arraylist i en session.
public ArrayList NewProducts
{
get
{
if (Session["newProducts"] == null)
{
return new ArrayList();
}
else
{
return Session["newProducts"] as ArrayList;
}
}
set
{
Session["newProducts"] = value;
}
}
Det är en property som håller en session internt. Bara att tilldela och ta ut som en vanlig variabel. Behöver aldrig kontrollera och skapa session vid första användandet. Ofta resulterar det i att det står if(Session["newProducts"]!= null) överallt i koden, men det slipper man nu.
Av Glenn Lundberg
199/2007

Vi är glada att meddela att man numera kan köpa Trig-prylar på Merchworld.
Besök gärna Trig.com/Merchworld för mer info.
Av Jesper Lind
179/2007
Ett exempel på hur man kan jobba med datum och tid med SQL Server. Här hämtas poster ut som skapades för 10 min sedan.
SELECT [Order].Id, [Order].CreatedDate
FROM [Order] WHERE (DATEDIFF(minute, [Order].CreatedDate, GETDATE()) > 10)
Av Jesper Lind
179/2007
IBland får jag felet "Input string was not in a correct format." vid funktioner enligt nedan och det finns null-värde i databasen.
<%# GetUser(Convert.ToInt32(DataBinder.Eval(Container.DataItem, "UserId"))) %>
Då kan man göra så här för att parera nullvärdena och istället skicka in en nolla.
<%# GetUser(Eval("UserId") == DBNull.Value ? 0 : Convert.ToInt32(Eval("UserId"))) %>
Eller i Code Behind:
int userId = objDataReader["UserId"] == DBNull.Value ? 0 : Convert.ToInt32(objDataReader["UserId"]);
Av Jesper Lind
149/2007
Häromdan publicerade GnuCitizen exempel på hur ett säkerhetshål i Quicktime kan utnyttjas till att att komma åt underliggande funktioner i webbläsaren Firefox. Och inte nog med det. Det visar sig även att det går att få tillgång till användarens operativsystem och program.
På bloggen visas ett "snällt" exempel på hur man kan starta miniräknaren i Windows genom att lägga in extrakod i Quicktime-koden. Man visar även hur man kan stänga av användarens dator. Vad för riktiga elakheter man kan hitta på med detta vill jag inte ens tänka på.
Så nu gäller det att se upp om man använder Windows och Quicktime. Rapporter visar på att även Opera och Internet Explorer kan vara sårbara för av denna säkerhetsbrist.
Ett sätt att skydda sig med Firefox verkar vara att installera tillägget NoScript. Det finns också tips om att använda ett alternativ till Quicktime som t ex Quicktime Lite.
Apple har vetat om detta säkerhetsproblem ett bra tag men inte gjort något åt det. Hoppas de börjar lyssna nu när man förstår vilken skada som det kan ställa till med hos webbsurfare.
Svenska MacWorld skriver också om säkerhetsbristen.
Av Jesper Lind
119/2007
Man kan tro att det är världens enklaste sak att kopiera en rad från en GridView till en annan. Men den metoden många försöker med först resulterar ofta i "This row already belongs to another table". Här visar vi en enkel metod för att lösa problemet.
DataTable newtable = new DataTable();
DataTable temptable = new DataTable();
CheckBox cb;
BLL bll = new BLL();//Our Business Layer
foreach(GridViewRow row in GridView2.Rows)
{
if (row.RowType == DataControlRowType.DataRow)
{
cb = row.FindControl("CheckBox1") as CheckBox;
if (cb.Checked == true)
{
temptable.Clear();
temptable = bll.GetItem(Convert.ToInt32(row.Cells[0].Text));
newtable.ImportRow(temptable[0]);
}
}
}
GridView3.DataSource = newtable;
GridView3.DataBind();
Trixet är alltså att skapa en tabell med den raden man vill kopiera och sedan importera den till en ny tabell. Det gå inte att bara flytta över DataRowObjektet utan att få ett fel.
Denna koden kopierar alla rader som är "checked" från gridview2 till gridview3
cell[0] innehåller Id i gridview 2. (row.datakey skulle säkert funka lika bra)
Av Glenn Lundberg
109/2007
Similicio.us är en intressant tjänst som hittar liknande webbplatser till den som du matar in i sökrutan.
Den drivs med hjälp av APIn från den sociala bokmärkningstjänsten del.icio.us och söker efter webbplatser som är taggade med samma ord.
(via neatorama)
Av Jesper Lind
99/2007

Ray Ozzie som är Chief Software Architect på Microsoft introducerade en ny idé i mars i år, att standarisera hur en webbapplikation ska kunna hantera klipp och klistra. Han kallar detta Live Clipboard.
Han skrev även lite senare om hur andra har hjälpt till att föra projektet framåt och det har bland annat skapats en sajt där det går att ladda ner sax-ikonen i många filformat.
Själv är jag inte säker på hur användbart detta är, men det är en intressant idé. Nån gång kommer man nog kunna behöva klippa/klistra-funktion och då kan detta vara intressant att kolla vidare på.
Testa gärna ett exempel på Live Clipboard.
Av Jesper Lind
69/2007

Silverlight har nu släppts i version 1.0, läs mer hos bland Microsoft representanterna Robert Folkesson och Scott Guthrie. För er som inte är insatta i tekniken så handlar det om ett plugin till webbläsare för att presentera multimedia och erbjuda interaktivitet (ungefär som Adobe's Flash-spelaren).
Man tillkännager samtidigt att man kommer samarbeta med Novell och hjälpa dem med att utveckla en Linux-baserad implementation av tekniken. På Linux kommer denna få namnet Moonlight läs mer hos Mono-utvecklaren Miguel de Icaza.
Version 1.0 av Silverlight programmeras om jag har förstått det hela rätt genom Javascript-kod och man behöver bara en texteditor för att skapa denna. Det går att ladda ner en utökning till Visual Studio för att få Intellisense på Javascript för Silverlight.
Nästa version 1.1 kommer stödja ASP.NET och finns än så länge bara i Alpha-släpp för utvecklare att testa med. På Silverlight-sajten finns alla verktyg som man behöver för att komma igång med att utveckla applikationer.
Vi ser fram emot att prova på Silverlight-utveckling och tror väldigt starkt på tekniken. IDG har också skrivit en notis om det.
Av Jesper Lind
<<Föregående
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
Nästa>>