我在 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 架构)。谢谢你的帮助。