在剃刀视图页面中使用C#对象

本文关键字:对象 剃刀 视图 | 更新日期: 2023-09-27 18:27:30

我在View razor页面中有以下几行c#代码:

@{
    List<UserContact> userContacts = ViewBag.contacts;
    String contacts = Html.Partial("~/Views/Shared/Contacts.cshtml", userContacts).ToHtmlString();
}

我想在JavaScript函数中使用contacts变量的内容,因为contacts是一个C#对象,我不能在JavaScript函数使用这个变量。

有没有办法在Javascript函数中使用contacts变量?也许由于类型是字符串,它可以转换为JavaScript变量?

在剃刀视图页面中使用C#对象

您可以像往常一样使用@指令。您可以使用Html.Raw:打印它

var x = /* this is javascript */
@{
    ...
    @Html.Raw(contacts)
}

或者直接呼叫@Html.Partial

var x = /* this is javascript */
@{
    ...
    @Html.Partial(...)
}

或者在这里声明:

@{
    ...
    string contacts = @Html.Partial(...)
}

稍后使用:

@contacts

是的,您只需要在脚本块中渲染它。试试这个:

<script>
    var contacts = '@contacts';
    alert(contacts);
</script>