无法在JavaScript中使用razor C#

时间:2012-09-27 20:50:13

标签: c# javascript razor

我想让Razor(C#)和javascript一起玩得很好,但我似乎无法做到。我在StackOverflow上搜索过其他文章,但似乎都没有 为我工作。

与其他帖子和我的一些明显不同之处包括:

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

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

我也使用jQuery,如果这样会更容易。

我想要完成的任务:

我需要做的就是获取标签的内容(innerHTML或jQuery中的.html)(通过id,类,等等)并将该值分配给“AppState [”gEntryID“]以用于下一页

我尝试过的一些事情:

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

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

我在HeaderLayout文件中的外部文件和head部分都尝试了这些(以及其他一些变体)。

我知道C#在页面之前运行,JavaScript主要在页面之后运行(至少在这样的事件中运行)。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

它不起作用。您无法使用JavaScript在C#/ Razor端设置变量,而无需使用表单或ajax提交。

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