C# Jquery声明int?asp.net mvc4中的变量
你好 我有一个asp.NETMVC4项目,我尝试在jquery中声明变量。下一步要总结的问题:我的数据来自model@model.EducationProgramBachelorId,并且我的类中的属性EducationProgramBachelorId声明为int?。当我尝试在jquery代码中声明它时: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语法错
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当然很高兴我能帮忙。