ASP.NET MVC客户端模型与JavaScript

ASP.NET MVC客户端模型与JavaScript,javascript,asp.net-mvc,Javascript,Asp.net Mvc,我很好奇如何将aspx页面上的可空模型信息设置为JavaScript变量。我使用的是MVC3 RC,我确信这是微不足道的,我遗漏了一些东西 给出以下代码(同样,在我的aspx视图中): 我想写的是: var myFloat = null; 目前,我有一些丑陋的逻辑: var myFloat = null; <% if(Model.MyNullableFloat != null) { %> myFloat = <%

我很好奇如何将aspx页面上的可空模型信息设置为JavaScript变量。我使用的是MVC3 RC,我确信这是微不足道的,我遗漏了一些东西

给出以下代码(同样,在我的aspx视图中):

我想写的是:

var myFloat = null;
目前,我有一些丑陋的逻辑:

    var myFloat = null;
    <%
        if(Model.MyNullableFloat != null) {
    %>
            myFloat = <%: Model.AdGroup.MyNullableFloat %>;
    <%
        }
    %>
var myFloat=null;
myFloat=;
有没有想过更干净的方法

谢谢

现在在你看来,你可以简单地做到这一点

var myFloat = <%= Model.MyNullableFloatAsString %>
var myFloat=
现在在你看来,你可以简单地做到这一点

var myFloat = <%= Model.MyNullableFloatAsString %>
var myFloat=
您可以使用

var myFloat=;
请记住,这两个条件都需要返回相同的类型,因此如果要返回
“null”
,可以使用

var myFloat=;

请记住,这两个条件都需要返回相同的类型,因此如果要返回
“null”
,请使用三元运算符快速解决:

var myFloat = <%: Model.MyNullableFloat.HasValue ? Model.MyNullableFloat.Value : "null"  %>;
var myFloat=;

使用三元运算符快速求解:

var myFloat = <%: Model.MyNullableFloat.HasValue ? Model.MyNullableFloat.Value : "null"  %>;
var myFloat=;

没什么好的

<%= Model.MyNullableFloat.HasValue? Model.MyNullableFloat.ToString() : "null"%>;
然后

<%= myFloat.ToStringVerboseNull()%>

没什么好的

<%= Model.MyNullableFloat.HasValue? Model.MyNullableFloat.ToString() : "null"%>;
然后

<%= myFloat.ToStringVerboseNull()%>


你不必
ToString()
可为空的浮点吗?你不必
ToString()
可为空的浮点吗?你需要
ToString()
值,否则会引发异常。你需要
ToString()
值,否则会引发异常
public static string ToStringVerboseNull(this float? myFloat)
{
    return myFloat.HasValue ? myFloat.ToString() : "null";
}
<%= myFloat.ToStringVerboseNull()%>