私は Web 開発、特に ASP.NET ではかなり新しいものです (しかし、私は CS 専攻なので、役に立ちます)。私は以前にいくつかのWeb開発を行ったことがありますが、他の誰かが私が理解できないことをいつでも手伝うことができました.
とにかく、リンクの名前をクエリ文字列として渡すサイトにリンクしようとしています。これは、適切な XML ドキュメントをロードして解析するために使用されます。私が遭遇した問題は、XML を javascript で解析しただけで、練習には問題ありませんでしたが、問題は、クエリ文字列がサーバー側で読み取られ、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を使用してこのWebサイトを作成していますが、私が知っていることはすべてGoogleとW3SchoolのWebページ用ASP.NETに関する記事からほとんど学びました(Webフォームを使用する必要はなく、MVCアーキテクチャはこのプロジェクトには必要ありません)。助けてくれてありがとう。