【问题标题】:Using C# object in razor view page在剃刀视图页面中使用 C# 对象
【发布时间】:2014-10-23 12:50:25
【问题描述】:

我在 View razor 页面中有这行 c# 代码:

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

我想在 JavaScript 函数中使用联系人变量的内容,因为联系人是 C# 对象,我不能在 JavaScript 函数中使用此变量。

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

【问题讨论】:

  • 在脚本中:var partialHtml = '@contacts';

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


【解决方案1】:

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

var x = /* this is javascript */
@{
    ...

    @Html.Raw(contacts)
}

或者直接拨打@Html.Partial

var x = /* this is javascript */
@{
    ...

    @Html.Partial(...)
}

或者在这里声明:

@{
    ...

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

以后再用:

@contacts

【讨论】:

  • 我需要将联系人对象的内容传递给父视图剃须刀页面,为此我需要将 C# 对象转换为 JavaScript 对象。
【解决方案2】:

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

<script>

    var contacts = '@contacts';
    alert(contacts);

</script>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-02
    • 1970-01-01
    • 2020-01-26
    • 2020-02-19
    相关资源
    最近更新 更多