Razor нет, если тип оператора не существует - PullRequest
1 голос
/ 13 апреля 2020

Я получаю refType не существует в текущем контенте. Я передаю его в качестве параметра, поэтому я не уверен, почему я не могу его использовать.

Вызов функции

$.each(references, function (index, item) {
    console.log(item);
    $(".references-list ol").append(referenceTmpl(item.Text, item.Link, item.RegimensCommaList, referenceIndex++, item.GuidelineId, item.GuidelineExternalReference, item.Type));
    buildReferences();
});

enter image description here

cs html

function referenceTmpl(text, link, regimens, index, guidelineId, guidelineExternalReference,type) {
        var refType = type;
        @if (Model.Editable) {
            <text>var refDel = "<a href='#' class='glyphicon glyphicon-trash delete-reference' title='Delete'></a>";</text>
            if (refType = 'AMode')
            {
                <text>var refEdit = "";</text>
            }
            else
            {
                <text>var refEdit = "<a href='#' data-index='" + index + "' class='glyphicon glyphicon-edit edit-reference' title='Edit'></a>";</text>
            }

        } else {
            <text>var refDel = "";</text>
            <text>var refEdit = "";</text>
        }

    if (type == "A-Mode"){
        refEdit = "";
    }
}

1 Ответ

1 голос
/ 13 апреля 2020

В этой строке кода var refType = type; вы назначаете переменную javascript переменной шаблона бритвы, которая не будет работать.

Попробуйте следующий код;

function referenceTmpl(text, link, regimens, index, guidelineId, guidelineExternalReference,type) {
        <text>
            var refType = type;
            var refEdit = "";
        </text>
        @if (Model.Editable) {
            <text>
                var refDel = "<a href='#' class='glyphicon glyphicon-trash delete-reference' title='Delete'></a>";

                if(refType != 'AMode'){
                    refEdit = "<a href='#' data-index='" + index + "' class='glyphicon glyphicon-edit edit-reference' title='Edit'></a>";
                }
            </text>
        } else {
            <text>
               var refDel = "";
               var refEdit = "";
            </text>
        }

        <text>
            if (type == "A-Mode"){
                refEdit = "";
            }
        </text>
}

Если вам нужно вернуть строковое значение, добавьте return refEdit+refDel;;

function referenceTmpl(text, link, regimens, index, guidelineId, guidelineExternalReference,type) {
        <text>
            var refType = type;
            var refEdit = "";
        </text>
        @if (Model.Editable) {
            <text>
                var refDel = "<a href='#' class='glyphicon glyphicon-trash delete-reference' title='Delete'></a>";

                if(refType != 'AMode'){
                    refEdit = "<a href='#' data-index='" + index + "' class='glyphicon glyphicon-edit edit-reference' title='Edit'></a>";
                }
            </text>
        } else {
            <text>
               var refDel = "";
               var refEdit = "";
            </text>
        }

        <text>
            if (type == "A-Mode"){
                refEdit = "";
            }


            return refEdit+refDel;
        </text>
}
...