0

Razor(C#)とjavascriptを一緒にうまく再生しようとしていますが、うまくいかないようです。StackOverflowで他の記事を検索しましたが、どれもうまくいかないようです。

他の投稿や私のものとのいくつかの顕著な違いは次のとおりです。

外部のJavaScriptファイルを使用しています(必須ではありませんが、あります)。

すべてのページのヘッダーレイアウトにcshtmlファイルを使用しています(これにより、実際に関数を呼び出そうとしているファイルとは異なるファイルにheadタグが配置されます。

jQueryの方が簡単な場合は、jQueryも使用します。

私が達成しようとしていること:

私がする必要があるのは、タグのコンテンツ(innerHTML、またはjQueryの.html)を(id、classなどで)取得し、次のページで使用するためにその値を"AppState["gEntryID"]に割り当てることです。

私が試したいくつかのこと:

function entryClickHandler()
{
    @AppState["gEntryID"] = document.getElementById("tester").innerHTML;
}

function entryClickHandler()
{
    <text>
    @AppState["gEntryID"] = document.getElementById("tester").innerHTML;
    </text>
}

外部ファイルとHeaderLayoutファイル内のheadセクションの両方で、これら(およびこれらの他のいくつかのバリエーション)を試しました。

C#はページの前に実行され、JavaScriptはほとんどページの後に実行されることを理解しています(少なくともこのようなイベントでは)。

どんな助けでも大歓迎です。

4

1 に答える 1

2

それはそのようには機能しません。フォーム投稿またはajax送信を使用せずに、JavaScriptを使用してC#/Razor側で変数を設定することはできません。

Javascriptは、Razorがその一部を実行し、ページをレンダリングして送信するまで、ページにアクセスできません。

于 2012-09-27T20:56:30.977 に答える