我很好奇如何处理将aspx页面上的可为空的模型信息设置为JavaScript变量。我正在使用MVC3 RC,但我敢肯定这是微不足道的,而且我还缺少一些东西。
给出以下代码(同样,在我的aspx视图中):
var myFloat = <%: Model.MyNullableFloat %>;
如果SelectedAudience为null,则写入页面的内容是:
var myFloat = ;
我要写的是:
var myFloat = null;
目前,我有一些难看的逻辑:
var myFloat = null;
<%
if(Model.MyNullableFloat != null) {
%>
myFloat = <%: Model.AdGroup.MyNullableFloat %>;
<%
}
%>
有没有更清洁的想法?
谢谢
最佳答案
您可以使用conditional operator
var myFloat = <%: Model.MyNullableFloat.HasValue
? Model.MyNullableFloat.Value.ToString()
: "null"%>;
请记住,两个条件都需要返回相同的类型,因此如果要返回
ToString()
,则必须对结果进行"null"
。