Javascript,Razor,Asp.Net核心:未定义View.Element

OEZ BRO

在我的Asp.Net Core视图的Javascript中,未定义“ View.BestritteneRunden”。在我将其从Asp.Net MVC迁移到Asp.Net Core MVC之前,它一切正常。我通过研究发现的东西杀死了我的UI元素。计时器到期后,应用程序应在视图上递增该值。有人可以帮我吗?

这是我的视图片段:

@using PlaudertischSoftware.Models;
@using DevExtreme.AspNet.Mvc;
@using DevExpress.Web;
@using DevExtreme.AspNet.Data;

    <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">
    @model PlauderViewModel
    @section Styles {
        @*<link href="@Url.Content("~/Content/design.css")" rel="stylesheet" type="text/css" />*@
        <link href="~/css/design.css" rel="stylesheet" />
    }
    @{
        ViewBag.Title = "SpielView";
    }
    @using (Html.BeginForm("SpielView", "Plauder", FormMethod.Post))
    {
    <body style="z-index:-5">

        <div class="progress-info">
            <br />
            <span>Runde: <input id="txtRunde" name="BestritteneRunden" type="text" value="@Model.BestritteneRunden" style="width: 15px; border-width: 0px; background:none" />von 10</span>
            <br />
            Übrige Zeit 00:00:<span id="timer">10</span>
        </div>

        <div id="progress-info">
            @(Html.DevExtreme().ProgressBar()
                .ID("progressBarStatus")
                .Min(0)
                .Max(100)
                .Width("100%")
                .Height(50)
                .StatusFormat(new JS("progressBar_statusFormat"))
                .OnComplete("progressBar_onComplete")
                .OnValueChanged("progressBar_valueChanged")
            )
            <div class="form" style="margin-top:-25px">
                @(Html.DevExtreme().Button()
                    .ID("progress-button")
                    .Text("Starten")
                    .Width(120)
                    .OnClick("button_onClick")
                )
            </div>
        </div>
    </body>

        <script>
            var drehen = @Model.Drehrichtung;

            var seconds = 10,
                inProgress = false;

            window.intervalId = window.intervalId || null;

            function timer(){
                seconds--;
                setCurrentStatus();
                if (seconds === 0) {
                    clearInterval(intervalId);
                    seconds = 10;
                    return;
                }
            }

            function setCurrentStatus() {
                $("#progressBarStatus").dxProgressBar("option", "value", (10 - seconds) * 10);
                $("#timer").text(("0" + seconds).slice(-2));
            }

            function progressBar_statusFormat(value) {
                return;
            };

            function progressBar_onComplete(e) {
                inProgress = false;
                $("#progress-button").dxButton("option", "text", "Stoppen");

                e.element.removeClass("complete");


                //Daten zum Controller senden und auswerten
                $.ajax({
                    type: "POST",
                    url: "TimerStopped",
                    dataType: "json",
                    data: $('form').serialize(),
                    success: function (view) {

                $("#txtRunde").attr("value", view.BestritteneRunden);


                        if (view.BestritteneRunden < 11) {
                            button_onClick(e);
                        }
                        else {
                            location.replace("AuswertungsView");
                        }
                        $("#slider-value").dxNumberBox("instance").option("value", 0);},
                    error: function (result) {
                        alert(result.text);
                    }
                });
            };

            function button_onClick(e) {
                    clearInterval(intervalId);

                    $("#progressBarStatus").removeClass("complete");

                    if (inProgress) {
                        e.component.option("text", "Fortsetzen");
                        clearInterval(intervalId);
                    } else {
                        e.component.option("text", "Stoppen");
                        setCurrentStatus();
                        intervalId = setInterval(timer, 1000);
                    }

                inProgress = !inProgress;
            };

        </script>
    }
Fei Han

在我的Asp.Net Core视图的Javascript中,未定义“ View.BestritteneRunden”。

该问题可能是由于对所有JSON属性名称使用驼峰式大小写引起的。

如果您检查返回的数据view,则看起来可能bestritteneRunden: 10不是BestritteneRunden: 10

要解决此问题,您可以使用修改js代码view.bestritteneRunden

$("#txtRunde").attr("value", view.bestritteneRunden);

或设置PropertyNamingPolicynull

services.AddControllersWithViews()
    .AddJsonOptions(options =>
    {
        options.JsonSerializerOptions.PropertyNamingPolicy = null;
    });

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Emberjs-为什么未定义view.element

来自分类Dev

ASP.net PageMethods返回未定义

来自分类Dev

ASP .NET RAZOR FileUpload

来自分类Dev

导致IE11抛出_doPostBack的.NET 4上的ASP.NET是未定义的javascript错误

来自分类Dev

JavaScript范围未定义

来自分类Dev

javascript asp .net mvc razor中的访问模型

来自分类Dev

Element.className返回未定义?

来自分类Dev

未定义值javascript

来自分类Dev

Javascript element.style.opacity未定义。为什么?

来自分类Dev

未定义Javascript文档

来自分类Dev

$ scope对象在ng-view angularjs + asp.net mvc中未定义

来自分类Dev

Element.querySelector未定义

来自分类Dev

未定义FB javascript

来自分类Dev

变量未定义-JavaScript

来自分类Dev

文字未定义-JavaScript

来自分类Dev

在ASP.Net中缩小包后无法加载模板:(HTTP状态:未定义未定义)

来自分类Dev

ReferenceError:未定义PDFJS Asp.net

来自分类Dev

变量(element).style未定义

来自分类Dev

Javascript数组未定义?

来自分类Dev

Element.className返回未定义?

来自分类Dev

在ASP.NET MVC中未定义验证器

来自分类Dev

$ scope对象在ng-view angularjs + asp.net mvc中未定义

来自分类Dev

隐藏字段值未定义ASP.NET

来自分类Dev

JavaScript“未定义”

来自分类Dev

ASP.NET Razor与javascript文字混合

来自分类Dev

在Asp.net MVC Razor语法中使用JavaScript变量

来自分类Dev

为什么我的ASP .NET MVC 5 Razor View无法识别我的Javascript功能?

来自分类Dev

Id 变量未定义 Asp.net ajex

来自分类Dev

ASP .NET Web 服务未定义