1

我在 Web 开发方面相当新,尤其是 ASP.NET(但我是 CS 专业的,所以这很有帮助)。我以前做过一些网络开发,但其他人总是可以帮助解决我不明白的任何事情。

无论如何,我正在尝试链接到一个站点,该站点将链接名称作为查询字符串传递,然后该查询字符串将用于加载正确的 XML 文档并对其进行解析。我遇到的问题是我只用javascript解析了XML,这对于练习来说很好,但问题是查询字符串正在服务器端读取,而javascript在客户端运行。

这是我到目前为止所拥有的(显然没有工作):

@{Layout="/Shared/GuideLayout.cshtml";}

<!-- I like to keep layouts separate from variables, not sure if this is proper -->
@{string name = Request.QueryString["name"];}

<script type="text/javascript">

    var aname = @name;
    document.write(aname);
    xmlDoc = loadXMLDoc("/XML/" + aname + ".xml");
    document.write(xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue));
</script>

@name

如您所见,我得到了查询字符串,它工作得很好,问题是标题没有打印在任何地方(正如预期的那样)。这是 loadXMLDoc 的代码:

function loadXMLDoc(dname)
    {
        if (window.XMLHttpRequest)
        {
            xhttp=new XMLHttpRequest();
        }

        else
        {
            xhttp=new ActiveXObject("Microsoft.XMLHTTP");
        }

        xhttp.open("GET",dname,false);
        xhttp.send();
        return xhttp.responseXML;
    } 

我尝试使用脚本的“runat="server"”属性,但没有做任何事情。我之前已经解析过这个 XML 文档,所以我知道代码可以工作,问题是我不确定如何根据我目前的知识来实现​​它。

当我用谷歌搜索这个时,有人建议创建一个包含 javascript 的页面,然后将其传递给我在那里定义的函数,问题是我仍然不知道如何将查询字符串从 ASP.NET 获取到 javascript 中传入。我还看到一些页面顶部带有 <%@ Page Language=”C#” %> 标记,但这似乎已经过时,因为我在放入此标记时收到错误。

我正在使用 microsoft webmatrix 创建这个网站,我所知道的一切都来自谷歌和 W3School 关于 ASP.NET 网页的文章(我不需要使用 webforms,并且这个项目不需要 MVC 架构)。谢谢你的帮助。

4

0 回答 0