【问题标题】:Javascript Uncaught SyntaxError: missing ) after argument listJavascript Uncaught SyntaxError: missing ) 在参数列表之后
【发布时间】:2016-02-15 15:51:59
【问题描述】:

我在 chrome 控制台中的参数列表后缺少 )。我不明白为什么,因为它似乎没有丢失一个。我知道这不是因为我传递的字符串,因为字符串实际上显示了它应该如何。所以这是我的代码:

这是 HTML 代码:

<button class="btn btn-primary btn-lg" type="button" onclick="annuler(@ViewBag.id_dcr,@ViewBag.number)">
        Annuler 
</button>

这是Javascript函数:

function annuler(id_dcr, number) 
{
    window.location.href = ("/ModifyDocument/Index?id_dcr=" + id_dcr + "&number=" + number);
}

这是传递信息的 C# 方法:

public ActionResult Create(int? id_dcr, int? id_user, string number)
{
    ViewBag.Documents = dbd.documents.Where(i => i.number == number).ToList();
    ViewBag.id_dcr = id_dcr;
    ViewBag.number = number;
    return View();
}

这是将在 JavaScript 函数中调用的 C# 方法定义:

public ActionResult Index(int? id_dcr, string number)

【问题讨论】:

  • annuler(@ViewBag.id_dcr,@ViewBag.number)中的值如果是字符串,需要用引号括起来。
  • 如果你只输入硬编码值会发生什么(例如:onclick="annuler('id', 3);" ?
  • 查看渲染输出并检查那里有什么问题。

标签: javascript c# html


【解决方案1】:

这应该可以解决它:

   <button class="btn btn-primary btn-lg" type="button" onclick="annuler('@ViewBag.id_dcr','@ViewBag.number')">
            Annuler 
    </button>

【讨论】:

  • ViewBag.number 是一个字符串,所以它在技术上可能包含一个 ' 字符,或者更糟糕的是,一个 " 字符(导致无效标记)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-02
  • 1970-01-01
  • 2013-03-11
  • 1970-01-01
  • 2020-03-03
  • 1970-01-01
相关资源
最近更新 更多