从MVC 3中的控制器执行javascript函数

时间:2012-09-17 16:02:52

标签: javascript asp.net-mvc

我在控制器内部得到了一个动作结果,我需要显示来自bootstrap-modal的模态,问题是......。

ScriptManager.RegisterStartupScript不像旧的asp.net那样工作

有一个解决方案吗?我是mvc的新手。

2 个答案:

答案 0 :(得分:4)

好的,从控制器注册javascript的最简单的解决方案非常明显,但对于那些不熟悉该模式的人来说是令人沮丧的:

使用命名部分,我们找到了放置javascript的地方

您可以使用 [命名部分] [1]。

<强> _Layout.cshtml

<head>
    <script type="text/javascript" src="@Url.Content("/Scripts/jquery-1.6.2.min.js)">
    @RenderSection("JavaScript", required: false)
</head>

和视图的代码

<强> _SomeView.cshtml

@section JavaScript
{
    @Html.Raw(ViewBag.message)
}

并在控制器中返回

ViewBag.message = @"<script type='text/javascript' language='javascript'>alert(""Hello World!"")</script>"; ;

答案 1 :(得分:0)

在ASP.NET中,MVC脚本未在控制器操作中注册。控制器和视图之间存在分离。所以你可以直接把脚本放在相应的视图中: