0

HTML ページに razor/C# コードが含まれているかどうかを検出する方法はありますか? 基本的には、RenderSection に置き換えるタグを使用して、ユーザーがカスタム レイアウトを提供できるようにしたいと考えています。この置換を行う前に、HTML に<a href="@(some C# code)".

これを行うための代替方法に関するすべての議論は、単に脇に置いておく必要があります/できます/できます:ファイルにC#/Razorコードが含まれているかどうかをプログラムで検出する方法はありますか?

4

3 に答える 3

2

Razor マークアップについてはよくわかりませんが、渡されたレイアウト文字列を取得するときに、テキストを解析して、an で始まるすべての単語を取得し、@それらの単語を配列に入れたいと考えています。 . 次に、それをウェブサイトに再公開するときに、かみそりコードを使用して配列内のデータにアクセスします...

別の簡単な方法としては、渡されたすべてのコードを調べて、すべての@記号を別の記号に置き換え&て、Razor プロセッサによって解釈されないようにすることです。

layoutString = layoutString.Replace('@', '&');

于 2013-01-24T19:20:14.157 に答える
0

ブラウザで?いいえ、プログラマーが間違えない限り、レンダリングされたHTMLにはRazor / C#コードはなく、その結果であるHTMLのみが含まれているためです。

あなたが尋ねるのは、ピザからピザを焼くのにどのタイプのオーブンが使われたかを尋ねるようなものです。悪いニュース-あなたは決して知りません。

それらから適切なタグを提供する場合は、JavaScriptでそれらを解析できますが、生成されたhtmlの一部としてそのメタデータを自分で出力する必要があります。

于 2013-01-24T19:12:27.290 に答える
0

TomTom へのコメントを読んだ後。答えは次のとおりです。

いいえ。Razor には、パブリック構文パーサーは付属していません。

于 2013-01-24T19:22:31.873 に答える