Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Jquery声明int?asp.net mvc4中的变量_C#_Jquery_Asp.net_Asp.net Mvc_Asp.net Mvc 4 - Fatal编程技术网

C# Jquery声明int?asp.net mvc4中的变量

C# Jquery声明int?asp.net mvc4中的变量,c#,jquery,asp.net,asp.net-mvc,asp.net-mvc-4,C#,Jquery,Asp.net,Asp.net Mvc,Asp.net Mvc 4,你好 我有一个asp.NETMVC4项目,我尝试在jquery中声明变量。下一步要总结的问题:我的数据来自model@model.EducationProgramBachelorId,并且我的类中的属性EducationProgramBachelorId声明为int?。当我尝试在jquery代码中声明它时: var progId = @Model.EducationProgramBachelorId; R告诉我的?University.EducationProgramBachelorId语法错

你好

我有一个asp.NETMVC4项目,我尝试在jquery中声明变量。下一步要总结的问题:我的数据来自model@model.EducationProgramBachelorId,并且我的类中的属性EducationProgramBachelorId声明为int?。当我尝试在jquery代码中声明它时:

var progId = @Model.EducationProgramBachelorId;
R告诉我的?University.EducationProgramBachelorId语法错误

我需要在if/else条件下使用此变量,然后执行以下操作:

if(progId != null){
//Do something
}
else{
//Do something
}
我的问题是:

如何声明int?jquery中的变量

在if语句中,当它为真时,我需要写返回,因为我的函数是关闭的还是其他什么

编辑

这是我的剃须刀页面的一部分:

@model Models.Entities.University

@Html.DropDownList("EducationProgramBachelorId", String.Empty)
                            @Html.ValidationMessageFor(model => model.EducationProgramBachelorId)

<script type="text/jscript">

$(document).ready(function () {
        var progId = @Model.EducationProgramBachelorId; //here is I have an error and function didn't work
        if(progId != null){
            return;
        }
        else{
            $.getJSON('/Administrator/ProgramList/' + 1, function (data) {
                var items = '<option>Select a Program</option>';
                $.each(data, function (i, program) {
                    items += "<option value='" + program.Value + "'>" + program.Text + "</option>";
                });
                $('#EducationProgramBachelorId').html(items);
            });
        }

    });

</script>
如果是一个可为null的int?属性渲染到视图时,它不会输出任何内容。您能否在模型中创建一个新属性来转换int?到正常整数?如果EducationProgramBachelorId变量为null,则返回零

public int EducationProgramBachelorJSInt
{
    get
    {
        return EducationProgramBachelorId.HasValue ? 
        EducationProgramBachelorId.Value : 0;
    }
}
那么您的JQuery代码将如下所示

var progId = @Model.EducationProgramBachelorJSInt;
if(progId != 0){
    //Do something
}
else{
    //Do something
}
你可以试试

 var progId = @(Model.EducationProgramBachelorId.HasValue ? Model.EducationProgramBachelorId : 0);

因此,如果Model.EducationProgramBachelorId为null,则其progId将设置为0

您不需要在javascript中将变量声明为int。您在哪里看到错误?它看起来一点也不像javascript错误。是ReSharper告诉您有错误,还是编译器或运行时告诉您有错误?ReSharper可能搞错了。在这行代码var progId=@Model.EducationProgramBachelorId之后,我有一条红色的波浪线,我的error@BorHunter该行是在.js文件中还是在asp.net页面中?我们需要更多的信息。在我看来,这应该在一些javascript中出现,但事实并非如此。@BorHunter:我过去遇到过一些问题,Visual Studio无法理解视图中Razor代码和javascript代码的混合。但这并不妨碍它真正发挥作用。代码是否编译?它跑吗?有实际的错误还是仅仅是智能感知错误?谢谢你,你的答案太棒了,这对你很有帮助me@BorHunter当然很高兴我能帮忙。