1

我有这行代码在我的页面中的 ddl 更改时执行 -

location.href = '@Url.Action("Edit", "Page", new { UserId = (string)null })/' + '@ViewBag.userId' + '?status=' + '@ViewBag.status' + '&pageNo=@ViewBag.PageNo';

该链接仅使用 & 即可正常工作,但在检查标记验证器http://validator.w3.org/check后,它建议我将 & 替换为& 我已经在上面的代码行中这样做了。但是现在,当我更改 ddl&字面显示在 url 中并且页面无法正常工作(由 ddl 过滤)。

<script type="text/javascript">
$(document).ready(function () {
 $(".ddl").change(function () { changePage(); });

 }); 

    function changePage() {
        location.href = '@Url.Action("Edit", "Page", new { UserId = (string)null })/' + '@ViewBag.userId' + '?status=' + '@ViewBag.status' + '&amp;pageNo=@ViewBag.PageNo';
}

</script>

有人可以告诉我我做错了什么吗?

4

2 回答 2

2

我能想到的最简单的方法之一是:您可能希望将您的 javascript 代码放在外部 javascript 中并再次进行 w3c 验证。

于 2011-11-11T16:29:25.857 回答
1

基本问题是您通过将 XHTML 用作text/html

如果文档被解析为 XML,那么您需要在脚本元素中表示&&amp;但由于您声称文档是 HTML,那么您不能这样做。

请参阅兼容性指南

  • 将您的 JS 保存在外部文件中
  • 用 CDATA 标记包裹它
  • 使用 HTML 而不是 XHTML
于 2011-11-11T16:38:38.733 回答