首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >@Html.Raw生成的javascript不能正常工作

@Html.Raw生成的javascript不能正常工作
EN

Stack Overflow用户
提问于 2014-07-30 22:30:23
回答 1查看 1K关注 0票数 1

我正试着做一个小测验和网站。目前,您可以输入一个小测验,问题和答案。现在我正试着写参加测验(任何关于如何做的建议都会有帮助!)我遵循模型这里和生成的输出文件看起来像这样。现在,当我将代码复制到它自己的文件并运行它时,它将正确运行。它确保所有的问题都被回答了,并且它会告诉你多个问题,其中一个是正确的。

但是,当我从网站本身加载html原始生成的javascript时,它只检查您是否回答了其中一个问题,而没有回答另一个问题,并且它只显示一个答案的结果,当您单击finish时。如果两个问题都回答错了,它只显示一个错误的答案,而不是2个(对于我的例子)。

这是我的css看起来像。这是代码的html原始部分

我只是不知道为什么@Html.Raw生成的javascript会出现问题。如果有另一种方式来写答题者,我也会全神贯注。

谢谢。

编辑:

同样,如果我在它自己的文件中复制/粘贴代码,它可以工作,但是从MVC呈现它不工作。

takequiz cshtml

takequiz控制器

EN

回答 1

Stack Overflow用户

发布于 2014-07-31 08:08:53

老实说,我不明白为什么您在每个脚本行上都使用@Html.Raw()。将所有这些放在<script>标记中的事实使得这完全没有必要,而且很难阅读。没有它,您仍然可以使用Razor语法和C#变量(如果需要)。

我的猜测是,这是导致所有问题的部分原因,也许你遗漏了什么,因为很难看出什么可能是错的。

无论是在清除Html.Raw的代码之前还是之后,我建议您在页面上呈现该元素后,检查脚本的外观,并将其与单独脚本文件中的工作代码进行比较。

如果您仍然无法使它工作,请向我们展示您清理的代码,和您单独的代码文件的工作,也许我或其他人可以仔细看看。

编辑:--我尝试将注释中的pastebin中的代码和标记粘贴到带有Notepad++的简单html文件中。保存并检查我是否有任何错误。我确实收到了一个错误:$ is not defined,这通常意味着库没有及时加载,或者根本没有加载。因此,在我看来,问题在于您将对jQuery库的引用放在测试脚本之后。

在您的测试脚本之前,您有以下一行:

代码语言:javascript
运行
复制
<script src="jquery.js"></script>

我不确定它是否有任何效果,因为在页面底部有一个更具体的引用:

代码语言:javascript
运行
复制
<script src="/Scripts/jquery-1.7.1.js"></script>

我所做的是在两者之间切换位置,以便1.7.1.js引用放在测试脚本之前,然后我将另一个完全删除。这样剧本就能用了。我还将代码放入MVC视图中。虽然我没有真正的时间来设置所有控制器的内容和您最初的预期,但是如果上面写的没有帮助的话,控制器和视图之间的连接就是我接下来要检查的内容。

不过,正如我在评论中所说的,如果您检查浏览器开发工具中的控制台,我相信您会发现一些有用的东西。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25048039

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档