如何在asp.net mvc中使用razor viewmodel将c#guid值赋给javascript变量?

时间:2013-09-27 21:57:25

标签: c# javascript asp.net asp.net-mvc razor

我有一个属性为Guid类型的视图模型。我需要将它分配给javascript对象属性并将此对象发布到某个操作方法。

当我写(用javascript)时:

var partyId = @Model.Id;  // "Id" is of Guid type

我得到了

var partyId = 6abbf77d-ba28-4d8a-87ff-2fa8f8a070c9;
// Uncaught SyntaxError: Unexpected identifier 

我该如何处理?我的意思是将Id值分配给javascript变量。

4 个答案:

答案 0 :(得分:6)

将@ Model.Id括在引号内。

答案 1 :(得分:3)

您的JavaScript输出最终将成为一个字符串,因此它将使用引号格式化:

var partyId = '6abbf77d-ba28-4d8a-87ff-2fa8f8a070c9';

您当前的代码段缺少此功能,只是呈现原始值。

我不知道JavaScript中的任何GUID 类型来解析它,但是,如果你正在寻找它。

答案 2 :(得分:3)

您可以使用单引号或双引号括起模型。您可能会收到奇怪的解析错误,但通常可以通过用括号括起vb / c#代码来摆脱它们。

var partyId = '@(Model.Id)';

答案 3 :(得分:2)

用引号括起来?

var partyId = '@Model.Id';