javascript - 函数未定义 C#

标签 javascript c# html asp.net-core

我尝试通过按下按钮来调用函数,但没有任何反应,我在控制台中看到了它。

Uncaught ReferenceError: AddressInputSet is not defined at HTMLButtonElement.onclick

我是新手,请帮忙 ASP.NET 核心 2.2

<h2 class="text-center">Ваши данные</h2>
<form method="post" asp-controller="Profile" asp-action="UserInfo">
    <div class="form-group">
        <label>Email</label>
        <input class="form-control" type="text" placeholder="@ViewBag.User.Email" readonly />
    </div>
    <div class="form-group">
        <label>Имя</label>
        <input class="form-control" type="text" placeholder="@ViewBag.User.FirstName" readonly />
    </div>
    <div class="form-group">
        <label>Фамилия</label>
        <input class="form-control" type="text" placeholder="@ViewBag.User.LastName" readonly />
    </div>
    <div class="form-group">
        <label>Адресс</label>
        <input class="form-control" id="AddressInput" type="text" placeholder="@ViewBag.User.Address" readonly /><br />
        <button type="button" onclick="AddressInputSet()" class="btn btn-primary" id="buttonSetAddress">Изменить</button>
        <button type="button"onclick="SaveAddress()" class="btn btn-success" id="buttonSaveAddress" hidden>Сохранить</button>
    </div>
</form>
@section Scripts{
    <script type="text/javascript">
    function AddressInputSet() {
        document.getElementById('AddressInput').removeAttribute('readonly');
        document.getElementById('buttonSetAddress').hidden = 'true';
        document.getElementById('buttonSaveAddress').removeAttribute('hidden');
        alert('sdfgdfg');
    };
   function SaveAddress() {
        var data ={
            userId: @ViewBag.User.Id,
            address: document.getElementById('AddressInput').value
        };

        $.ajax({
            type: 'POST',
            url: '/Account/ResetAddress',
            data: data,
            //contentType: "application/x-www-form-urlencoded; charset=utf-8",
            //dataType: JSON,
            success: function () {
                document.getElementById('buttonSaveAddress').hidden = 'true';
            },
            error: function () {
                alert('Error');
            }
        });
    };
    </script>
}

最佳答案

检查您的 @RenderSection("scripts", required: false)_Layout看法。确保它位于 <body> 的内部tag 和 not outside closing </body>标签。

关于javascript - 函数未定义 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55848777/

相关文章:

html - 使 div 垂直跨越所有可用高度

javascript - Skrollr 无法移动超过 20 个对象

javascript - 为什么 C# 解析的 DateTime 提前 7 小时?

javascript - 从 JsonClient 获取错误消息

c# - 实现一个非常特殊的通用签名

html - 想在html/css中限制选择框的深度

javascript - 在计算繁重的调用期间避免 UI 卡住

c# - 解释 DrawArc 方法?

c# - 如何在C#中获取字符串的ASCII值

html - 控制div的高度