Avatar billede torbenmelander Nybegynder
04. september 2004 - 11:49 Der er 33 kommentarer og
1 løsning

Javascript på server-side controller

Jeg har problemer med at bruge Javascript i mine serverside-control hvis jeg ligger min Javascript kode i en selvstændig fil (.js) ...

Jeg prøver at bruge koden fra denne side:
http://www.etalk.dk/ArticleShow20.aspx

men med mindre at jeg laver en script sektion i aspx filen hvor hele javascript koden står (over 1100 linier) kan den ikke kalde javascript funktionerne (object expected fejl).

Nogle kode ideér ?
Avatar billede snepnet Nybegynder
04. september 2004 - 17:43 #1
må jeg se ascx-filen til din usercontrol ?
Avatar billede torbenmelander Nybegynder
04. september 2004 - 19:39 #2
>> snepnet

Jeg tror jeg var lidt for hurtigt da jeg skrev ovenstående... Det har ikke noget at gøre med en user control, men blot nogle server-side controls (<asp:TextBox>).

Jeg har prøvet at reproducere problemet og her er koden:

profile.html
--------------------------------------------

<html>
<head>
    <script language="JavaScript" type="text/javascript" src="postby.js"></script>
</head>
<body>

<form name="form1" method="post">

<table border="0" cellpadding="2" cellspacing="0" width="100%">
    <tr>
        <td align="left" width="150" valign="top"><b>Postnr./By:</b></td>
        <td align="left" valign="top" nowrap><input type="text" id="postby" style="width:50px" onchange="addBy(this.form);">&nbsp;<input type="text" name="bynavn" style="width:171px" onchange="addPostnr(this.form);"></td>
    </tr>
    <tr>
        <td align="left" width="150" valign="top">&nbsp;</td>
        <td align="left" valign="top" nowrap><br /><input type="submit" value="Ret oplysninger" ID="ButtonEdit" /></td>
    </tr>
</table>

</form>

</body>
</html>

profile.aspx
--------------------------------------------

<%@ Page Inherits="TEST.Profile" Language="C#" Src="profile.aspx.cs" %>
<html>
<head>
    <script language="JavaScript" type="text/javascript" src="postby.js"></script>
</head>
<body>

<form name="form1" runat="server" method="post">

<table border="0" cellpadding="2" cellspacing="0" width="100%">
    <tr>
        <td align="left" width="150" valign="top"><b>Postnr./By:</b></td>
        <td align="left" valign="top" nowrap><asp:TextBox id="postby" style="width:50px" Text="" runat="server" />&nbsp;<asp:TextBox id="bynavn" style="width:171px" Text="" runat="server" /></td>
    </tr>
    <tr>
        <td align="left" width="150" valign="top">&nbsp;</td>
        <td align="left" valign="top" nowrap><br /><asp:Button runat="server" Text="Ret oplysninger" OnClick="ButtonEditClick" ID="ButtonEdit" /></td>
    </tr>
</table>

</form>

</body>
</html>

profile.aspx.cs
--------------------------------------------

namespace TEST
{
    using System;
    using System.Configuration;
    using System.Data;
    using System.Data.Odbc;
    using System.Reflection;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;

    public class Profile : Page
    {
        protected TextBox postby;
        protected TextBox bynavn;
       
        private void Page_Load(object sender, System.EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                this.postby.Attributes.Add("onChange", "addCity('this.form');");
                this.bynavn.Attributes.Add("onChange", "addPostalCode('this.form');");
            }
        }

        protected void ButtonEditClick(Object sender, EventArgs e)
        {
            // Her gemmes resultatet ...
        }
    }
}



profile.html virker perfekt ... se evt. www.melanders.dk/exp/profile.html
profile.aspx virker ikke ... se evt. www.melanders.dk/exp/profile.aspx

Jeg er kommet frem til at problemet skyldes at:

<script language="JavaScript" type="text/javascript" src="postby.js"></script>

ikke bliver udført i ASP.NET ... da den fejler med at finde funktionerne ...

Koden virker perfekt hvis jeg tager indholdet af .js filen og ligger i en <script>-tag i aspx filen ...
Avatar billede torbenmelander Nybegynder
04. september 2004 - 19:43 #3
postby.js kan hentes her: http://www.etalk.dk/diverse/postby.js
Avatar billede snepnet Nybegynder
04. september 2004 - 19:44 #4
grunden til at dit script fejler her : http://www.melanders.dk/exp/profile.aspx
er at der går kage i dit tegnset.

prøv at sørge for at der står sådan her i den web.config - istedet for det der normalt står :   

<globalization
            requestEncoding="iso-8859-1"
            responseEncoding="iso-8859-1"
  />

normalt er den sat pr. default (hvis du bruger VS) til :

    <globalization
            requestEncoding="utf-8"
            responseEncoding="utf-8"
  />

du kan eventuelt åbne js-filen i notepad, og sørge for at gemme den med nævnte tegnsæt.

mvh
Avatar billede torbenmelander Nybegynder
04. september 2004 - 19:55 #5
>> snepnet

Tak for dit hurtige svar ... desværre kan jeg ikke få det til at virke ...

Jeg har tilføjet til min web.config

<globalization
            requestEncoding="iso-8859-1"
            responseEncoding="iso-8859-1"
  />

havde ingen i forvejen (så det lyder rigtigt at det kan gi' problemer med default værdi) ...

Har prøvet at åbne filen i notepad og gemt den som ANSI ... der var ingen iso-8859-1 nemlig ...

Hvad gør jeg galt ?
Avatar billede snepnet Nybegynder
04. september 2004 - 20:10 #6
at du lægger sådan en her :
<script language="JavaScript" type="text/javascript" src="postby.js"></script>
i din header, er ikke noget der kommer til at have noget som helst med asp.net at gøre, så det er ikke der problemet ligger.

problemet at du kalder med 'this.form', istedet for this.form (som du gør i html-versionen).

denne her burde virke :

namespace TEST
{
    using System;
    using System.Configuration;
    using System.Data;
    using System.Data.Odbc;
    using System.Reflection;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;

    public class Profile : Page
    {
        protected TextBox postby;
        protected TextBox bynavn;
       
        private void Page_Load(object sender, System.EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                this.postby.Attributes.Add("onChange", "addCity(this.form);");
                this.bynavn.Attributes.Add("onChange", "addPostalCode('this.form');");
            }
        }

        protected void ButtonEditClick(Object sender, EventArgs e)
        {
            // Her gemmes resultatet ...
        }
    }
}
Avatar billede torbenmelander Nybegynder
04. september 2004 - 20:14 #7
>> snepnet

Okay .. det gør den desværre ikke ... Er rettet nu på:
http://www.melanders.dk/exp/profile.aspx
Avatar billede snepnet Nybegynder
04. september 2004 - 20:17 #8
nej du skal også sørge for at formen så også har det navn du skriver.... på profile.aspx hedder den ikke form, men _c-et eller andet.
Avatar billede snepnet Nybegynder
04. september 2004 - 20:18 #9
_ctl0 hedder den helt præcis
Avatar billede snepnet Nybegynder
04. september 2004 - 20:19 #10
hvilket så modsvarer
this.postby.Attributes.Add("onChange", "addCity(this._ctl0);");

hvorfor har den egentlig sådan et underligt navn - angiver du ikke navnet på formen selv ?
(det er sådan et typisk .net autoid den har).
Avatar billede torbenmelander Nybegynder
04. september 2004 - 20:24 #11
>> snepnet

Hmm jeg kalder den godt nok 'form1', men at jeg angiver this.form skulle gøre at den tager this'es form. Sådan virker det også i HTML-filen hvor formen også hedder form1.
Avatar billede torbenmelander Nybegynder
04. september 2004 - 20:25 #12
Har prøvet dit forslag forresten ... det virker desværre heller ikke ... se evt. selv ...
Avatar billede snepnet Nybegynder
04. september 2004 - 20:27 #13
ja det har du da fuldstændig ret i..... virker det ikke med
this.postby.Attributes.Add("onChange", "addCity(this.form);"); ?
Avatar billede torbenmelander Nybegynder
04. september 2004 - 20:29 #14
Nææ desværre ...
Avatar billede torbenmelander Nybegynder
04. september 2004 - 20:34 #15
Som tidligere nævnt virker det hvis jeg istedet for at tage det igennem en <script src> tag laver en <script>-tag hvor nøjagtigt det samme indhold er mellem <script> og </script>.

Jeg er ret så sikker på at problemet er at .aspx siden ikke tager fat i .js-filen ...
Avatar billede snepnet Nybegynder
04. september 2004 - 20:35 #16
det er ikke det der er problemet... det foregår jo ude hos klienten det hele - og varetages af internet explorer.
asp.net er slet ikke inde i billedet.
Avatar billede torbenmelander Nybegynder
04. september 2004 - 20:36 #17
Jeg har prøvet at sætte en alert('TEST'); ind i scriptet og den bliver ikke vist når der hentes fra .js. Den vises dog fint hvis scriptet er inkluderet i siden ...
Avatar billede torbenmelander Nybegynder
04. september 2004 - 20:37 #18
er sat ind så den bliver vist under hentning af siden ...
Avatar billede snepnet Nybegynder
04. september 2004 - 20:37 #19
problemet er, at sætter din attributter programmatisk tror jeg... jeg prøver det lige.
Avatar billede torbenmelander Nybegynder
04. september 2004 - 20:38 #20
Okay tak ...
Avatar billede snepnet Nybegynder
04. september 2004 - 20:40 #21
det vil faktisk slet ikke virke hvis du angiver runat="server" på dine tekstbokse.
Avatar billede snepnet Nybegynder
04. september 2004 - 20:45 #22
jeg tror du bliver nødt til at fjerne serverkontrollerne for at se om det virker.
Avatar billede snepnet Nybegynder
04. september 2004 - 20:45 #23
(jeg kan se du har begge sæt på nu)
Avatar billede torbenmelander Nybegynder
04. september 2004 - 20:50 #24
Hmmmmm ... det virker ... jeg kan bare ikke forstå hvad forskellen er ?
Avatar billede snepnet Nybegynder
04. september 2004 - 20:57 #25
den er også temmelig klam må man sige.
Avatar billede torbenmelander Nybegynder
04. september 2004 - 20:58 #26
ja ... kigger lidt mere på det og giver point senere (i dag)... spørger måske om mere :)
Avatar billede snepnet Nybegynder
04. september 2004 - 21:19 #27
du skriver bare :o) - jeg lægger et svar i tilfælde af at du vil lukke.
mvh
Avatar billede torbenmelander Nybegynder
04. september 2004 - 21:25 #28
Jeg har roddet lidt videre med det og fået "den ned med nakken"!

Jeg omskrev postby.js lidt:

var postby = new Array(
"1050 Kbh. K", 
"1051 Kbh. K", 
"1052 Kbh. K", 
"1053 Kbh. K", 
"1054 Kbh. K", 
"1055 Kbh. K", 
"1056 Kbh. K", 
"1057 Kbh. K", 
"1058 Kbh. K", 
"1059 Kbh. K", 
"1060 Kbh. K", 
"1061 Kbh. K", 
"1062 Kbh. K", 
"1063 Kbh. K", 
"1064 Kbh. K", 
"1065 Kbh. K", 
"1066 Kbh. K", 
"1067 Kbh. K", 
"1068 Kbh. K", 
"1069 Kbh. K", 
"1070 Kbh. K", 
"1071 Kbh. K", 
"1072 Kbh. K", 
"1073 Kbh. K", 
"1074 Kbh. K", 
"1100 Kbh. K", 
"1101 Kbh. K", 
"1102 Kbh. K", 
"1103 Kbh. K", 
"1104 Kbh. K", 
"1105 Kbh. K", 
"1106 Kbh. K", 
"1107 Kbh. K", 
"1110 Kbh. K", 
"1111 Kbh. K", 
"1112 Kbh. K", 
"1113 Kbh. K", 
"1114 Kbh. K", 
"1115 Kbh. K", 
"1116 Kbh. K", 
"1117 Kbh. K", 
"1118 Kbh. K", 
"1119 Kbh. K", 
"1120 Kbh. K", 
"1121 Kbh. K", 
"1122 Kbh. K", 
"1123 Kbh. K", 
"1124 Kbh. K", 
"1125 Kbh. K", 
"1126 Kbh. K", 
"1127 Kbh. K", 
"1128 Kbh. K", 
"1129 Kbh. K", 
"1130 Kbh. K", 
"1131 Kbh. K", 
"1150 Kbh. K", 
"1151 Kbh. K", 
"1152 Kbh. K", 
"1153 Kbh. K", 
"1154 Kbh. K", 
"1155 Kbh. K", 
"1156 Kbh. K", 
"1157 Kbh. K", 
"1158 Kbh. K", 
"1159 Kbh. K", 
"1160 Kbh. K", 
"1161 Kbh. K", 
"1162 Kbh. K", 
"1163 Kbh. K", 
"1164 Kbh. K", 
"1165 Kbh. K", 
"1166 Kbh. K", 
"1167 Kbh. K", 
"1168 Kbh. K", 
"1169 Kbh. K", 
"1170 Kbh. K", 
"1171 Kbh. K", 
"1172 Kbh. K", 
"1173 Kbh. K", 
"1174 Kbh. K", 
"1175 Kbh. K", 
"1200 Kbh. K", 
"1201 Kbh. K", 
"1202 Kbh. K", 
"1203 Kbh. K", 
"1204 Kbh. K", 
"1205 Kbh. K", 
"1206 Kbh. K", 
"1207 Kbh. K", 
"1208 Kbh. K", 
"1209 Kbh. K", 
"1210 Kbh. K", 
"1211 Kbh. K", 
"1212 Kbh. K", 
"1213 Kbh. K", 
"1214 Kbh. K", 
"1215 Kbh. K", 
"1216 Kbh. K", 
"1217 Kbh. K", 
"1218 Kbh. K", 
"1219 Kbh. K", 
"1220 Kbh. K", 
"1221 Kbh. K", 
"1250 Kbh. K", 
"1251 Kbh. K", 
"1252 Kbh. K", 
"1253 Kbh. K", 
"1254 Kbh. K", 
"1255 Kbh. K", 
"1256 Kbh. K", 
"1257 Kbh. K", 
"1258 Kbh. K", 
"1259 Kbh. K", 
"1260 Kbh. K", 
"1261 Kbh. K", 
"1262 Kbh. K", 
"1263 Kbh. K", 
"1264 Kbh. K", 
"1265 Kbh. K", 
"1266 Kbh. K", 
"1267 Kbh. K", 
"1268 Kbh. K", 
"1270 Kbh. K", 
"1271 Kbh. K", 
"1300 Kbh. K", 
"1301 Kbh. K", 
"1302 Kbh. K", 
"1303 Kbh. K", 
"1304 Kbh. K", 
"1305 Kbh. K", 
"1306 Kbh. K", 
"1307 Kbh. K", 
"1308 Kbh. K", 
"1309 Kbh. K", 
"1310 Kbh. K", 
"1311 Kbh. K", 
"1312 Kbh. K", 
"1313 Kbh. K", 
"1314 Kbh. K", 
"1315 Kbh. K", 
"1316 Kbh. K", 
"1317 Kbh. K", 
"1318 Kbh. K", 
"1319 Kbh. K", 
"1320 Kbh. K", 
"1321 Kbh. K", 
"1322 Kbh. K", 
"1323 Kbh. K", 
"1324 Kbh. K", 
"1325 Kbh. K", 
"1326 Kbh. K", 
"1327 Kbh. K", 
"1328 Kbh. K", 
"1329 Kbh. K", 
"1350 Kbh. K", 
"1352 Kbh. K", 
"1353 Kbh. K", 
"1354 Kbh. K", 
"1355 Kbh. K", 
"1356 Kbh. K", 
"1357 Kbh. K", 
"1358 Kbh. K", 
"1359 Kbh. K", 
"1360 Kbh. K", 
"1361 Kbh. K", 
"1362 Kbh. K", 
"1363 Kbh. K", 
"1364 Kbh. K", 
"1365 Kbh. K", 
"1366 Kbh. K", 
"1367 Kbh. K", 
"1368 Kbh. K", 
"1369 Kbh. K", 
"1370 Kbh. K", 
"1371 Kbh. K", 
"1400 Kbh. K", 
"1401 Kbh. K", 
"1402 Kbh. K", 
"1403 Kbh. K", 
"1404 Kbh. K", 
"1405 Kbh. K", 
"1406 Kbh. K", 
"1407 Kbh. K", 
"1408 Kbh. K", 
"1409 Kbh. K", 
"1410 Kbh. K", 
"1411 Kbh. K", 
"1412 Kbh. K", 
"1413 Kbh. K", 
"1414 Kbh. K", 
"1415 Kbh. K", 
"1416 Kbh. K", 
"1417 Kbh. K", 
"1418 Kbh. K", 
"1419 Kbh. K", 
"1420 Kbh. K", 
"1421 Kbh. K", 
"1422 Kbh. K", 
"1423 Kbh. K", 
"1424 Kbh. K", 
"1425 Kbh. K", 
"1426 Kbh. K", 
"1427 Kbh. K", 
"1428 Kbh. K", 
"1429 Kbh. K", 
"1430 Kbh. K", 
"1431 Kbh. K", 
"1432 Kbh. K", 
"1433 Kbh. K", 
"1450 Kbh. K", 
"1451 Kbh. K", 
"1452 Kbh. K", 
"1453 Kbh. K", 
"1454 Kbh. K", 
"1455 Kbh. K", 
"1456 Kbh. K", 
"1457 Kbh. K", 
"1458 Kbh. K", 
"1459 Kbh. K", 
"1460 Kbh. K", 
"1461 Kbh. K", 
"1462 Kbh. K", 
"1463 Kbh. K", 
"1464 Kbh. K", 
"1465 Kbh. K", 
"1466 Kbh. K", 
"1467 Kbh. K", 
"1468 Kbh. K", 
"1470 Kbh. K", 
"1471 Kbh. K", 
"1472 Kbh. K", 
"1473 Kbh. K", 
"1550 Kbh. V", 
"1551 Kbh. V", 
"1552 Kbh. V", 
"1553 Kbh. V", 
"1554 Kbh. V", 
"1555 Kbh. V", 
"1556 Kbh. V", 
"1557 Kbh. V", 
"1558 Kbh. V", 
"1559 Kbh. V", 
"1560 Kbh. V", 
"1561 Kbh. V", 
"1562 Kbh. V", 
"1563 Kbh. V", 
"1564 Kbh. V", 
"1567 Kbh. V", 
"1568 Kbh. V", 
"1569 Kbh. V", 
"1570 Kbh. V", 
"1571 Kbh. V", 
"1572 Kbh. V", 
"1573 Kbh. V", 
"1574 Kbh. V", 
"1575 Kbh. V", 
"1576 Kbh. V", 
"1577 Kbh. V", 
"1600 Kbh. V", 
"1601 Kbh. V", 
"1602 Kbh. V", 
"1603 Kbh. V", 
"1604 Kbh. V", 
"1605 Kbh. V", 
"1606 Kbh. V", 
"1607 Kbh. V", 
"1608 Kbh. V", 
"1609 Kbh. V", 
"1610 Kbh. V", 
"1611 Kbh. V", 
"1612 Kbh. V", 
"1613 Kbh. V", 
"1614 Kbh. V", 
"1615 Kbh. V", 
"1616 Kbh. V", 
"1617 Kbh. V", 
"1618 Kbh. V", 
"1619 Kbh. V", 
"1620 Kbh. V", 
"1621 Kbh. V", 
"1622 Kbh. V", 
"1623 Kbh. V", 
"1624 Kbh. V", 
"1631 Kbh. K", 
"1632 Kbh. V", 
"1633 Kbh. V", 
"1634 Kbh. V", 
"1635 Kbh. V", 
"1650 Kbh. V", 
"1651 Kbh. V", 
"1652 Kbh. V", 
"1653 Kbh. V", 
"1654 Kbh. V", 
"1656 Kbh. V", 
"1657 Kbh. V", 
"1658 Kbh. V", 
"1659 Kbh. V", 
"1660 Kbh. V", 
"1661 Kbh. V", 
"1662 Kbh. V", 
"1663 Kbh. V", 
"1664 Kbh. V", 
"1665 Kbh. V", 
"1666 Kbh. V", 
"1667 Kbh. V", 
"1668 Kbh. V", 
"1669 Kbh. V", 
"1670 Kbh. V", 
"1671 Kbh. V", 
"1672 Kbh. V", 
"1673 Kbh. V", 
"1674 Kbh. V", 
"1675 Kbh. V", 
"1676 Kbh. V", 
"1677 Kbh. V", 
"1699 Kbh. V", 
"1700 Kbh. V", 
"1701 Kbh. V", 
"1702 Kbh. V", 
"1703 Kbh. V", 
"1704 Kbh. V", 
"1705 Kbh. V", 
"1706 Kbh. V", 
"1707 Kbh. V", 
"1708 Kbh. V", 
"1709 Kbh. V", 
"1710 Kbh. V", 
"1711 Kbh. V", 
"1712 Kbh. V", 
"1713 Kbh. V", 
"1714 Kbh. V", 
"1715 Kbh. V", 
"1716 Kbh. V", 
"1717 Kbh. V", 
"1718 Kbh. V", 
"1719 Kbh. V", 
"1720 Kbh. V", 
"1721 Kbh. V", 
"1722 Kbh. V", 
"1723 Kbh. V", 
"1724 Kbh. V", 
"1725 Kbh. V", 
"1726 Kbh. V", 
"1727 Kbh. V", 
"1728 Kbh. V", 
"1729 Kbh. V", 
"1730 Kbh. V", 
"1731 Kbh. V", 
"1732 Kbh. V", 
"1733 Kbh. V", 
"1734 Kbh. V", 
"1735 Kbh. V", 
"1736 Kbh. V", 
"1737 Kbh. V", 
"1738 Kbh. V", 
"1739 Kbh. V", 
"1748 Kbh. V", 
"1749 Kbh. V", 
"1750 Kbh. V", 
"1751 Kbh. V", 
"1752 Kbh. V", 
"1753 Kbh. V", 
"1754 Kbh. V", 
"1755 Kbh. V", 
"1756 Kbh. V", 
"1757 Kbh. V", 
"1758 Kbh. V", 
"1759 Kbh. V", 
"1760 Kbh. V", 
"1761 Kbh. V", 
"1762 Kbh. V", 
"1763 Kbh. V", 
"1764 Kbh. V", 
"1765 Kbh. V", 
"1766 Kbh. V", 
"1770 Kbh. V", 
"1771 Kbh. V", 
"1772 Kbh. V", 
"1773 Kbh. V", 
"1774 Kbh. V", 
"1775 Kbh. V", 
"1776 Kbh. V", 
"1777 Kbh. V", 
"1778 Kbh. V", 
"1800 Frb. C", 
"1801 Frb. C", 
"1802 Frb. C", 
"1803 Frb. C", 
"1804 Frb. C", 
"1805 Frb. C", 
"1806 Frb. C", 
"1807 Frb. C", 
"1808 Frb. C", 
"1809 Frb. C", 
"1810 Frb. C", 
"1811 Frb. C", 
"1812 Frb. C", 
"1813 Frb. C", 
"1814 Frb. C", 
"1815 Frb. C", 
"1816 Frb. C", 
"1817 Frb. C", 
"1818 Frb. C", 
"1819 Frb. C", 
"1820 Frb. C", 
"1822 Frb. C", 
"1823 Frb. C", 
"1824 Frb. C", 
"1825 Frb. C", 
"1826 Frb. C", 
"1827 Frb. C", 
"1828 Frb. C", 
"1829 Frb. C", 
"1850 Frb. C", 
"1851 Frb. C", 
"1852 Frb. C", 
"1853 Frb. C", 
"1854 Frb. C", 
"1855 Frb. C", 
"1856 Frb. C", 
"1857 Frb. C", 
"1860 Frb. C", 
"1861 Frb. C", 
"1862 Frb. C", 
"1863 Frb. C", 
"1864 Frb. C", 
"1865 Frb. C", 
"1866 Frb. C", 
"1867 Frb. C", 
"1868 Frb. C", 
"1870 Frb. C", 
"1871 Frb. C", 
"1872 Frb. C", 
"1873 Frb. C", 
"1874 Frb. C", 
"1875 Frb. C", 
"1876 Frb. C", 
"1877 Frb  C", 
"1878 Frb. C", 
"1879 Frb. C", 
"1900 Frb. C", 
"1901 Frb. C", 
"1902 Frb. C", 
"1903 Frb. C", 
"1904 Frb. C", 
"1905 Frb. C", 
"1906 Frb. C", 
"1908 Frb. C", 
"1909 Frb. C", 
"1910 Frb. C", 
"1911 Frb. C", 
"1912 Frb. C", 
"1913 Frb. C", 
"1914 Frb. C", 
"1915 Frb. C", 
"1916 Frb. C", 
"1917 Frb. C", 
"1918 Frb. C", 
"1920 Frb. C", 
"1921 Frb. C", 
"1922 Frb. C", 
"1923 Frb. C", 
"1924 Frb. C", 
"1925 Frb. C", 
"1926 Frb. C", 
"1927 Frb. C", 
"1928 Frb. C", 
"1950 Frb. C", 
"1951 Frb. C", 
"1952 Frb. C", 
"1953 Frb. C", 
"1954 Frb. C", 
"1955 Frb. C", 
"1956 Frb. C", 
"1957 Frb. C", 
"1958 Frb. C", 
"1959 Frb. C", 
"1960 Frb. C", 
"1961 Frb. C", 
"1962 Frb. C", 
"1963 Frb. C", 
"1964 Frb. C", 
"1965 Frb. C", 
"1966 Frb. C", 
"1967 Frb. C", 
"1970 Frb. C", 
"1971 Frb. C", 
"1972 Frb. C", 
"1973 Frb. C", 
"1974 Frb. C", 
"2000 Frederiksberg", 
"2100 København Ø", 
"2200 København N", 
"2300 København S", 
"2400 København NV", 
"2450 København SV", 
"2500 Valby", 
"2600 Glostrup", 
"2605 Brøndby", 
"2610 Rødovre", 
"2620 Aalbertslund", 
"2625 Vallensbæk", 
"2630 Taastrup", 
"2635 Ishøj", 
"2640 Hedehusene", 
"2650 Hvidovre", 
"2660 Brøndby Strand", 
"2665 Vallensbæk Strand", 
"2670 Greve", 
"2680 Solrød Strand", 
"2690 Karlslunde", 
"2700 Brønshøj", 
"2720 Vanløse", 
"2730 Herlev", 
"2740 Skovlunde", 
"2750 Ballerup", 
"2760 Måløv", 
"2765 Smørum", 
"2770 Kastrup", 
"2791 Dragør", 
"2800 Lyngby", 
"2820 Gentofte", 
"2830 Virum", 
"2840 Holte", 
"2850 Nærum", 
"2860 Søborg", 
"2880 Bagsværd", 
"2900 Hellerup", 
"2920 Charlottenlund", 
"2930 Klampenborg", 
"2942 Skodsborg", 
"2950 Vedbæk", 
"2960 Rungsted Kyst", 
"2970 Hørsholm", 
"2980 Kokkedal", 
"2990 Nivå", 
"3000 Helsingør", 
"3050 Humlebæk", 
"3060 Espergærde", 
"3070 Snekkersten", 
"3080 Tikøb", 
"3100 Hornbæk", 
"3120 Dronningmølle", 
"3140 Ålsgårde", 
"3150 Hellebæk", 
"3200 Helsinge", 
"3210 Vejby", 
"3220 Tisvildeleje", 
"3230 Græsted", 
"3250 Gilleleje", 
"3300 Frederiksværk", 
"3310 Ølsted", 
"3320 Skærvige", 
"3330 Gørløse", 
"3360 Liseleje", 
"3370 Melby", 
"3390 Hundested", 
"3400 Hillerød", 
"3450 Allerød", 
"3460 Birkerød", 
"3480 Fredensborg", 
"3490 Kvistgård", 
"3500 Værløse", 
"3520 Farum", 
"3540 Lynge", 
"3550 Slangerup", 
"3600 Frederikssund", 
"3630 Jægerspris", 
"3650 Ølstykke", 
"3660 Stenløse", 
"3670 Veksø Sjælland", 
"3700 Rønne", 
"3720 Aakirkeby", 
"3730 Neksø", 
"3740 Svaneke", 
"3751 Østermarie", 
"3760 Gudhjem", 
"3770 Allinge", 
"3782 Klemensker", 
"3790 Hasle", 
"4000 Roskilde", 
"4040 Jyllinge", 
"4050 Skibby", 
"4060 Kirke Såby", 
"4070 Kirke Hyllinge", 
"4100 Ringsted", 
"4130 Viby Sjælland", 
"4140 Borup", 
"4160 Herlufmagle", 
"4171 Glumsø", 
"4173 Fjenneslev", 
"4174 Jystrup Midtsj", 
"4180 Sorø", 
"4190 Munke Bjergby", 
"4200 Slagelse", 
"4220 Korsør", 
"4230 Skælskør", 
"4241 Vemmelev", 
"4242 Boeslunde", 
"4243 Rude", 
"4250 Fuglebjerg", 
"4261 Dalmose", 
"4262 Sandved", 
"4270 Høng", 
"4281 Gørlev", 
"4291 Ruds Vedby", 
"4293 Dianalund", 
"4295 Stenlille", 
"4296 Nyrup", 
"4300 Holbæk", 
"4320 Lejre", 
"4330 Hvalsø", 
"4340 Tølløse", 
"4350 Ugerløse", 
"4360 Kirke Eskilstrup", 
"4370 Store Merløse", 
"4390 Vipperød", 
"4400 Kalundborg", 
"4420 Regstrup", 
"4440 Mørkøv", 
"4450 Jyderup", 
"4460 Snertinge", 
"4470 Svebølle", 
"4480 Store Fuglede", 
"4490 Jerslev Sj", 
"4500 Nykøbing Sj", 
"4520 Svinninge", 
"4532 Gislinge", 
"4534 Hørve", 
"4540 Fårevejle", 
"4550 Asnæs", 
"4560 Vig", 
"4571 Grevinge", 
"4572 Nørre Asminderup", 
"4573 Højby", 
"4581 Rørvig", 
"4583 Sjællands Odde", 
"4591 Føllenslev", 
"4592 Sejerø", 
"4593 Eskebjerg", 
"4600 Køge", 
"4621 Gadstrup", 
"4622 Havdrup", 
"4623 Lille Skensved", 
"4632 Bjæverskov", 
"4640 Fakse", 
"4652 Hårlev", 
"4653 Karise", 
"4654 Fakse Ladeplads", 
"4660 Store Heddinge", 
"4671 Strøby", 
"4672 Klippinge", 
"4673 Rødvig Stevns", 
"4681 Herfølge", 
"4682 Tureby", 
"4683 Rønnede", 
"4684 Holme-Olstrup", 
"4690 Haslev", 
"4700 Næstved", 
"4720 Præstø", 
"4733 Tappernøje", 
"4735 Mern", 
"4736 Karrebæksminde", 
"4750 Lundby", 
"4760 Vordingborg", 
"4771 Kalvehave", 
"4772 Langebæk", 
"4773 Stensved", 
"4780 Stege", 
"4791 Borre", 
"4792 Askeby", 
"4793 Bogø By", 
"4800 Nykøbing F", 
"4840 Nørre Alslev", 
"4850 Stubbekøbing", 
"4862 Guldborg", 
"4863 Eskilstrup", 
"4871 Horbelev", 
"4872 Idestrup", 
"4873 Væggerløse", 
"4874 Gedser", 
"4880 Nysted", 
"4891 Toreby L", 
"4892 Kettinge", 
"4894 Øster Ulslev", 
"4895 Errindlev", 
"4900 Nakskov", 
"4912 Harpelunde", 
"4913 Horslunde", 
"4920 Søllested", 
"4930 Maribo", 
"4941 Bandholm", 
"4943 Torrig L", 
"4944 Fejø", 
"4951 Nørreballe", 
"4952 Stokkemarke", 
"4953 Vesterborg", 
"4960 Holeby", 
"4970 Rødby", 
"4983 Dannemare", 
"4990 Sakskøbing", 
"5000 Odense C", 
"5100 Odense C (Postboks)", 
"5200 Odense V", 
"5210 Odense NV", 
"5220 Odense SØ", 
"5230 Odense M", 
"5240 Odense NØ", 
"5250 Odense SV", 
"5260 Odense S", 
"5270 Odense N", 
"5290 Marslev", 
"5300 Kerteminde", 
"5320 Agerdrup", 
"5330 Munkebo", 
"5350 Rynkeby", 
"5370 Mesinge", 
"5380 Dalby", 
"5390 Martofte", 
"5400 Bogense", 
"5450 Otterup", 
"5462 Morud", 
"5463 Harndrup", 
"5464 Brenderup Fyn", 
"5466 Asperup", 
"5471 Søndersø", 
"5474 Veflinge", 
"5485 Skamby", 
"5491 Blommenslyst", 
"5492 Vissenbjerg", 
"5500 Middelfart", 
"5540 Ullerslev", 
"5550 Langeskov", 
"5560 Aarup", 
"5580 Nørre Aaby", 
"5591 Gelsted", 
"5592 Ejby", 
"5600 Faaborg", 
"5610 Assens", 
"5620 Glamsbjerg", 
"5631 Ebberup", 
"5642 Millinge", 
"5672 Broby", 
"5683 Haarby", 
"5690 Tommerup", 
"5700 Svendborg", 
"5750 Ringe", 
"5762 Vester Skerninge", 
"5771 Stenstrup", 
"5772 Kværndrup", 
"5792 Årslev", 
"5800 Nyborg", 
"5853 Ørbæk", 
"5854 Gislev", 
"5856 Ryslinge", 
"5863 Ferritslev Fyn", 
"5871 Frørup", 
"5874 Hesselager", 
"5881 Skårup Fyn", 
"5882 Vejstrup", 
"5883 Oure", 
"5884 Gudme", 
"5892 Gudbjerg Sydfyn", 
"5900 Rudkøbing", 
"5932 Humble", 
"5935 Bagenkop", 
"5953 Tranekær", 
"5960 Marstal", 
"5970 Ærøskøbing", 
"5985 Søby Ærø", 
"6000 Kolding", 
"6040 Egtved", 
"6051 Almind", 
"6052 Viuf", 
"6064 Jordrup", 
"6070 Christiansfeld", 
"6091 Bjert", 
"6092 Sønder Stendrup", 
"6093 Sjølund", 
"6094 Hejls", 
"6100 Haderslev", 
"6200 Aabenraa", 
"6230 Rødekro", 
"6240 Løgumkloster", 
"6261 Bredebro", 
"6270 Tønder", 
"6280 Højer", 
"6300 Gråsten", 
"6310 Broager", 
"6320 Egernsund", 
"6330 Padborg", 
"6340 Kruså", 
"6360 Tinglev", 
"6372 Bylderup-Bov", 
"6392 Bolderslev", 
"6400 Sønderborg", 
"6430 Nordborg", 
"6440 Augustenborg", 
"6470 Sydals", 
"6500 Vojens", 
"6510 Gram", 
"6520 Toftlund", 
"6534 Agerskov", 
"6535 Branderup J", 
"6541 Bevtoft", 
"6560 Sommersted", 
"6580 Vamdrup", 
"6600 Vejen", 
"6621 Gesten", 
"6622 Bække", 
"6623 Vorbasse", 
"6630 Rødding", 
"6640 Lunderskov", 
"6650 Brørup", 
"6660 Lintrup", 
"6670 Holsted", 
"6682 Hovborg", 
"6683 Føvling", 
"6690 Gørding", 
"6700 Esbjerg", 
"6701 Esbjerg (postboks)", 
"6705 Esbjerg Ø", 
"6710 Esbjerg V", 
"6715 Esbjerg N", 
"6720 Fanø", 
"6731 Tjæreborg", 
"6740 Bramming", 
"6752 Glejbjerg", 
"6753 Agerbæk", 
"6760 Ribe", 
"6771 Gredstedbro", 
"6780 Skærbæk", 
"6792 Rømø", 
"6800 Varde", 
"6818 Årre", 
"6823 Ansager", 
"6830 Nørre Nebel", 
"6840 Oksebøl", 
"6851 Janderup Vestj", 
"6852 Billum", 
"6853 Vejers Strand", 
"6854 Henne", 
"6855 Ovtrup", 
"6857 Blåvand", 
"6862 Tistrup", 
"6870 Ølgod", 
"6880 Tarm", 
"6893 Hemmet", 
"6900 Skjern", 
"6920 Videbæk", 
"6933 Kibæk", 
"6940 Lem Sst", 
"6950 Ringkøbing", 
"6960 Hvide Sande", 
"6971 Spjald", 
"6973 Ørnhøj", 
"6980 Tim", 
"6990 Ulfborg", 
"7000 Fredericia", 
"7080 Børkop", 
"7100 Vejle", 
"7120 Vejle Øst", 
"7130 Juelsminde", 
"7140 Stouby", 
"7150 Barrit", 
"7160 Tørring", 
"7171 Uldum", 
"7173 Vonge", 
"7182 Bredsten", 
"7183 Randbøl", 
"7184 Vandel", 
"7190 Billund", 
"7200 Grinsted", 
"7250 Hejnsvig", 
"7260 Sønder Omme", 
"7270 Stakroge", 
"7280 Sønder Felding", 
"7300 Jelling", 
"7321 Gadbjerg", 
"7323 Give", 
"7330 Brande", 
"7361 Ejstrupholm", 
"7362 Hampen", 
"7400 Herning", 
"7430 Ikast", 
"7441 Bording", 
"7442 Engesvang", 
"7451 Sunds", 
"7470 Karup J", 
"7480 Vildbjerg", 
"7490 Avlum", 
"7500 Holstebro", 
"7540 Haderup", 
"7550 Sørvad", 
"7560 Hjerm", 
"7570 Vemb", 
"7600 Struer", 
"7620 Lemvig", 
"7650 Bøvlingbjerg", 
"7660 Bækmarksbro", 
"7673 Harboøre", 
"7680 Thyborøn", 
"7700 Thisted", 
"7730 Hanstholm", 
"7741 Frøstrup", 
"7742 Vesløs", 
"7752 Snedsted", 
"7755 Bedsted Thy", 
"7760 Hurup Thy", 
"7770 Vestervig", 
"7790 Thyholm", 
"7800 Skive", 
"7830 Vindrup", 
"7840 Højslev", 
"7850 Stoholm Jyll", 
"7860 Spøttrup", 
"7870 Roslev", 
"7884 Fur", 
"7900 Nykøbing M", 
"7950 Erslev", 
"7960 Karby", 
"7970 Redsted M", 
"7980 Vils", 
"7990 Øster Assels", 
"8000 Århus C", 
"8100 Århus C", 
"8200 Århus N", 
"8210 Århus V", 
"8220 Brabrand", 
"8230 Åbyhøj", 
"8240 Risskov", 
"8250 Egå", 
"8260 Viby J", 
"8270 Højbjerg", 
"8300 Odder", 
"8305 Samsø", 
"8310 Tranbjerg J", 
"8320 Mårslet", 
"8330 Beder", 
"8340 Malling", 
"8350 Hundslund", 
"8355 Solbjerg", 
"8361 Hasselager", 
"8362 Hørning", 
"8370 Hadsten", 
"8380 Trige", 
"8381 Mundelstrup", 
"8382 Hinnerup", 
"8400 Ebeltoft", 
"8410 Rønde", 
"8420 Knebel", 
"8444 Balle", 
"8450 Hammel", 
"8462 Harlev J", 
"8464 Galten", 
"8471 Sabro", 
"8472 Sporup", 
"8500 Grenaa", 
"8520 Lystrup", 
"8530 Hjortshøj", 
"8541 Skødstrup", 
"8543 Hornslet", 
"8544 Mørke", 
"8550 Ryomgård", 
"8560 Kolind", 
"8570 Trustrup", 
"8581 Nimtofte", 
"8585 Glesborg", 
"8586 Ørum Djurs", 
"8592 Anholt", 
"8600 Silkeborg", 
"8620 Kjellerup", 
"8632 Lemming", 
"8641 Sorring", 
"8643 Ans By", 
"8653 Them", 
"8654 Bryrup", 
"8660 Skanderborg", 
"8670 Låsby", 
"8680 Ry", 
"8700 Horsens", 
"8721 Daugård", 
"8722 Hedensted", 
"8723 Løsing", 
"8732 Hovedgård", 
"8740 Brændstrup", 
"8751 Gedved", 
"8752 Østbirk", 
"8762 Flemming", 
"8763 Rask Mølle", 
"8765 Klovborg", 
"8766 Nørre Snede", 
"8781 Stendrup", 
"8783 Hornsyld", 
"8800 Viborg", 
"8830 Tjele", 
"8831 Løgstrup", 
"8832 Skals", 
"8840 Rødkærsbro", 
"8850 Bjerringbro", 
"8860 Ulstrup", 
"8870 Langå", 
"8881 Thorsø", 
"8882 Fårevang", 
"8883 Gjern", 
"8900 Randers", 
"8950 Ørsted", 
"8961 Allingåbro", 
"8963 Auning", 
"8970 Havndal", 
"8981 Spentrup", 
"8983 Gjerlev J", 
"8990 Fårup", 
"9000 Aalborg", 
"9100 Aalborg (Postboks)", 
"9200 Aalborg SV", 
"9210 Aalborg SØ", 
"9220 Aalborg Øst", 
"9230 Svenstrup J", 
"9240 Nibe", 
"9260 Gistrup", 
"9270 Klarup", 
"9280 Storevorde", 
"9293 Kongerslev", 
"9300 Sæby", 
"9310 Vodskov", 
"9320 Hjallerup", 
"9330 Dronninglund", 
"9340 Assa", 
"9352 Dybvad", 
"9362 Gandrup", 
"9370 Hals", 
"9380 Vestbjerg", 
"9381 Sulsted", 
"9382 Tylstrup", 
"9400 Nørresundby", 
"9430 Vadum", 
"9440 Aabybro", 
"9460 Brovst", 
"9480 Løkken", 
"9490 Pandrup", 
"9492 Blokhus", 
"9493 Saltum", 
"9500 Hobro", 
"9510 Arden", 
"9520 Skørping", 
"9530 Støvring", 
"9541 Suldrup", 
"9550 Mariager", 
"9560 Hadsund", 
"9574 Bælum", 
"9575 Terndrup", 
"9600 Aars", 
"9610 Nørager", 
"9620 Aalestrup", 
"9631 Gedsted", 
"9632 Møldrup", 
"9640 Farsø", 
"9670 Løgstør", 
"9681 Ranum", 
"9690 Fjerritslev", 
"9700 Brønderslev", 
"9740 Jerslev J", 
"9750 Øster Vrå", 
"9760 Vrå", 
"9800 Hjørring", 
"9830 Tårs", 
"9850 Hirtshals", 
"9870 Sindal", 
"9881 Bindslev", 
"9900 Frederikshavn", 
"9940 Læsø", 
"9970 Strandby", 
"9981 Jerup", 
"9982 Ålbæk", 
"9990 Skagen"
);

function addCity(sPostalCodeName, sCityName)
{
    var sValue = document.getElementById(sPostalCodeName).value;
    for (i = 0; i < postby.length; i++)
    {
        if (postby[i].substring(0, 4) == sValue)
        {
            document.getElementById(sCityName).value = postby[i].substring(5, postby[i].length);
            i = postby.length;
        }
    }
}

function addPostalCode(sCityName, sPostalCodeName)
{
    var sValue = document.getElementById(sCityName).value;
    for (i = 0; i < postby.length; i++)
    {
        if (postby[i].substring(5, postby[i].length).toLowerCase() == sValue.toLowerCase())
        {
            document.getElementById(sPostalCodeName).value = postby[i].substring(0, 4);
            i = postby.length;
        }
    }
    addCity(sPostalCodeName, sCityName);
}

således at den nu skal bruge to parametre (nemlig navnene på controllerne). Dette er en forbedring i sig selv da scriptet derved kan bruges på flere sider uden at man er nødt til at navngive controllerne efter scriptet.

profile.aspx kom til at se sådan her ud:

<%@ Page Inherits="TEST.Profile" Language="C#" Src="profile.aspx.cs" %>
<html>
<head>
</head>
<body>

    <script language="JavaScript" type="text/javascript" src="postby.js"></script>

<form name="form1" runat="server" method="post">

<table border="0" cellpadding="2" cellspacing="0" width="100%">
    <tr>
        <td align="left" width="150" valign="top"><b>Postnr./By:</b></td>
        <td align="left" valign="top" nowrap><asp:TextBox id="postby" style="width:50px" Text="" runat="server" />&nbsp;<asp:TextBox id="bynavn" style="width:171px" Text="" runat="server" /></td>
    </tr>
    <tr>
        <td align="left" width="150" valign="top">&nbsp;</td>
        <td align="left" valign="top" nowrap><br /><asp:Button runat="server" Text="Ret oplysninger" OnClick="ButtonEditClick" ID="ButtonEdit" /></td>
    </tr>
</table>

</form>

</body>
</html>

profile.aspx.cs kom til at se sådan her ud:

namespace TEST
{
    using System;
    using System.Configuration;
    using System.Data;
    using System.Data.Odbc;
    using System.Reflection;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;

    public class Profile : Page
    {
        protected PlaceHolder PlaceHolderHeader;
        protected PlaceHolder PlaceHolderFooter;
        protected TextBox postby;
        protected TextBox bynavn;
       
        private void Page_Load(object sender, System.EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                this.postby.Attributes.Add("onChange", "addCity('postby','bynavn');");
                this.bynavn.Attributes.Add("onChange", "addPostalCode('bynavn', 'postby');");
            }
        }

        protected void ButtonEditClick(Object sender, EventArgs e)
        {
            // Her gemmes resultatet ...
        }
    }
}
Avatar billede torbenmelander Nybegynder
04. september 2004 - 21:27 #29
snepnet >>

Du har været en stor hjælp til at løse dette problem ... Jeg har derfor afsat 140 point mere ... Mange tak for hjælpen ...
Avatar billede snepnet Nybegynder
04. september 2004 - 21:28 #30
det er en klar forbedring af scriptet.... det var ret skidt at navngivning var hardcoded :o)
Avatar billede torbenmelander Nybegynder
04. september 2004 - 21:29 #31
<script language="JavaScript" type="text/javascript" src="postby.js"></script>

linien skulle forresten være i <head>-sektionen ... Det andet var bare en test ...
Avatar billede snepnet Nybegynder
04. september 2004 - 21:29 #32
ih dog... mange tak :o)
du spørger bare løs, hvis der skulle være noget.
mvh
Avatar billede torbenmelander Nybegynder
04. september 2004 - 21:31 #33
Skal jeg gøre ... Det er længe siden jeg har brugt eksperten, men det ser ud til at der er kommet "kloge" folk til igen ... Ha' en god aften ...
Avatar billede snepnet Nybegynder
04. september 2004 - 21:32 #34
mange tak og i lige måde :o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester