onclick没有定义MVC功能?

时间:2017-05-29 23:27:46

标签: javascript jquery asp.net-mvc

我收到了这个错误

  

未捕获的ReferenceError:未定义updateShift   在HTMLAnchorElement.onclick`

我已经在寻找这个问题而不是修复我的问题。

所以这是我的观点

<div class="dropdown-menu dropdown-anchor-top-left dropdown-has-anchor" id="data1">
    <ul>
        @foreach(var shift in Model.ShiftModelList)
        {    
            <li><a onclick="updateShift('@item.EmployeeId')">@shift.ShiftId</a></li>
        }
</div>

_layout.cshtml中的javascript

function updateShift(empId)
{
    $.post('@Url.Action("updateShift","jadwal")',{empId:empId } function(data) {
        alert("suksess");
    })
}

感谢您的帮助

3 个答案:

答案 0 :(得分:1)

您的视图在布局之前呈现,因此您需要将JavaScript包装在文档就绪函数中:

$(document).ready(function() {
  function updateShift(empId) {
    $.post('@Url.Action("updateShift","jadwal")',{empId:empId } function(data) {
      alert("suksess");
    })
  }
});

希望这有帮助! :)

答案 1 :(得分:0)

我希望以下链接提供错误原因以及解决方案。

https://stackoverflow.com/a/38372808/3397630

根据我的理解对于这种类型的错误,似乎我们需要交叉检查这两件事。

  1. javascript函数的范围是有界的

  2. 正确引用脚本文件。

  3. 其他信息/同一错误:https://forums.asp.net/t/2116708.aspx?Uncaught+ReferenceError+AddRecord+is+not+defined+at+HTMLButtonElement+onclick+

    希望它会有所帮助,请让我知道您的想法或反馈 感谢

    KARTHIK

答案 2 :(得分:0)

你可以试试这个,

$(document).ready(function() {
  function updateShift(empId) {
    $.post('@Url.Action("updateShift","jadwal")',{empId:empId } ,function(data) {
      alert("success");
    });
  }
});