0

我试图让 Razor (C#) 和 javascript 一起玩得很好,但我似乎做不到。我搜索了 StackOverflow 上的其他文章,但似乎没有一篇对我有用。

与其他帖子和我的一些显着差异包括以下内容:

我正在使用外部 JavaScript 文件(不是强制性的,但它就在那里)。

我正在为所有页面的标题布局使用一个 cshtml 文件(它将 head 标签放在与实际尝试调用该函数的文件不同的文件中。

我也使用 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 端设置变量。

在 Razor 完成它的一部分并呈现并发送页面之前,Javascript 无法访问页面。

于 2012-09-27T20:56:30.977 回答