Avatar billede tjgrindsted Nybegynder
13. januar 2008 - 12:21 Der er 1 kommentar og
1 løsning

problem med at få C# script til at virke

Hej

Har en Wrox bog ang. Ajax men kan ikke få det til at virke rigtigt.
Når jeg i VS2005 vælger min .htm fil og klikker "View in Browser" og så vises den fint nok men klikker jeg i det link der hedder "Tilføj i kurv" så updateres siden men den viser ikke en linje under linket ang. at vare en tilføjet som den burde gøre.
håber nogle har tid til at hjælpe.

--- Catalogue1.htm ---
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>Untitled Page</title>
    <script type="text/javascript" src="Cart.js"></script>
</head>
<body>
<br />
<img id="cover" src="Autumn Leaves.jpg" height="200px" width="200px" /><br />
<br />
<b>Bog:</b><span id="book">Efterårs bogen</span><br />
<b>Forfatter:</b><span id="authors">Linda Petersen</span><br />
<b>ISBN:</b><span id="ISBN">555652318</span><br />
<b>Pris:</b><span id="price">kr. 169,95</span><br />
<br />
<a href="#" onclick="AddRemoveItem('Add');">Tilføj til Kurv</a><br />
<br />
<span id="cart"></span>
</body>
</html>


--- Cart.js ---
var xHRObject = false;
if (window.XMLHttpRequest)
{
xHRObject = new XMLHttpRequest();
}
else if (window.ActiveXObject)
{
xHRObject = new ActiveXObject("Microsoft.XMLHTTP");
}

function getData()
{
if (xHRObject.readyState == 4 && xHRObject.status == 200)
    {
        var serverResponse = xHRObject.responseXML;
        var header = serverResponse.getElementsByTagName("book");
        var spantag = document.getElementById("cart");
        spantag.innerHTML = "";
        for (i=0; i<header.length; i++)
        {
        if (window.ActiveXObject)
        {
            spantag.innerHTML += " " + header[0].firstChild.text;
            spantag.innerHTML += " " + header[0].lastChild.text + " " + "<a href='#' onclick='AddRemoveItem(\"Remove\");'>Fjern Vare</a>";
        }
        }
    }
}

function AddRemoveItem(action)
{
    var book = document.getElementById("book").innerHTML;
    if(action=="Add")
    {
        xHRObject.open("GET", "Managecart.aspx?action=" + action + "&book=" +encodeURIComponent(book)+ "&value=" + Number(new Date), true);
    }
    else
    {
        xHRObject.open("GET", "Managecart.aspx?action=" + action + "&book=" +encodeURIComponent(book)+ "&value=" + Number(new Date), true);
    }
        xHRObject.onreadystatechange = getData;
        xHRObject.send(null);
}



--- ManageCart.aspx ---
<%@ Page Language="C#" Debug="true" %>

<%@ Import Namespace="System.Xml" %>
<script language="C#" runat="server">
    void Page_Load()
    {
        string newitem = Request.Params["book"];
        string action = Request.Params["action"];
        Hashtable ht = new Hashtable();
        if (Session["Cart"] != null)
        {
            ht = (Hashtable)Session["Cart"];
            if (action == "Add")
            {
                if (ht.ContainsKey(newitem))
                {
                    int value = int.Parse(ht[newitem].ToString());
                    ht.Remove(newitem);
                    value++;
                    ht.Add(newitem, value);
                    Session["Cart"] = ht;
                    Response.ContentType = "text/xml";
                    Response.Write(toXml(ht));

                }
                else
                {
                    ht.Add(newitem, 1);
                    Session["Cart"] = ht;
                    Response.ContentType = "text/xml";
                    Response.Write(toXml(ht));
                }
            }
            else
            {
                ht.Remove(newitem);
                Session["Cart"] = null;
                Response.ContentType = "text/xml";
                Response.Write(toXml(ht));
            }
        }
        else
        {
            ht.Add(newitem, 1);
            Session["Cart"] = ht;
            Response.ContentType = "text/xml";
            Response.Write(toXml(ht));
        }
    }

    string toXml(Hashtable ht)
    {
        XmlDocument XmlDoc = new XmlDocument();
        XmlNode versionNode = XmlDoc.CreateXmlDeclaration("1.0", "ISO-8859-1", "yes");
        XmlNode maidNode = XmlDoc.CreateElement("cart");
        XmlDoc.AppendChild(versionNode);
        XmlDoc.AppendChild(mainNode);

        foreach (string key in ht.Keys)
        {
            XmlNode childNode = XmlDoc.CreateElement("book");
            XmlNode TitleNode = XmlDoc.CreateElement("Title");
            XmlNode QuantityNode = XmlDoc.CreateElement("Quantity");
            TitleNode.AppendChild(XmlDoc.CreateTextNode(key));
            QuantityNode.AppendChild(XmlDoc.CreateTextNode(ht[key].ToString()));
            childNode.AppendChild(TitleNode);
            childNode.AppendChild(QuantityNode);
            mainNode.AppendChild(childNode);
        }

        string strXml = XmlDoc.InnerXml;
        return strXml;
    }
</script>
Avatar billede tjgrindsted Nybegynder
17. januar 2008 - 23:16 #1
slet ingen der kan hjælpe med hvad fejlen er !?
Avatar billede tjgrindsted Nybegynder
29. januar 2008 - 21:54 #2
lukket
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
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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