如何从 MVC3 中的控制器调用 javascript 函数

2024-01-17

我环顾四周,找不到解决方案,因此我发现自己在这里。根据我所读到的内容,我可以使用 RegisterClientScript 或 RegisterClientScriptBlock 在 ASP.NET Web 表单中执行此操作。我在任何 MVC3 文档中都找不到这个。 我在 MVC 3 视图中有以下功能:

我的测试视图:

<div data-role="content">

<div id="mappingTable"></div>

</div>

 </section>
 @section Scripts {
 <script type="text/javascript">

    $("#jqm-home").live('pageinit', function () {
        addTableRow(' adding data to table <br/>');
    });

    //I want to the able to call the function from the controller.
    function addTableRow(msg) {
        $('#mappingTable').append(msg);        
    }; 

   </script>
 }

在我的控制器中我有以下内容。

public class MyTestController : Controller
    {
      #region Class Constractor

       public MyTestController()
       {            
           Common.ControllerResourceEvent += new System.EventHandler<ResourceEventArgs>(Common_ResourceEvent);
       }

    private void Common_ResourceEvent(object sender, ResourceEventArgs e)
    {
        //I want to call the function addTableRow and pass ResourceEventArgs 
    } 

    #endregion Class Constractor      

    public ActionResult Index()
    {
        return View();
    }
}

您无法真正从控制器“调用”客户端 Javascript。假设您想要执行类似于 RegisterClientScript 的操作(将 JS 代码注入到您的页面中),那么您可以轻松完成。您可以创建一个具有字符串属性的模型(只不过是一个简单的类)。将属性值设置为要注入的客户端 JS 代码。将模型传递给视图。在您的视图中,引用该属性 - 如下所示:

public class SampleModel
{
   public string JS { get; set; }
}

public ActionResult Index()
{
    var model = new SampleModel();
    model.JS = "addTableRow('My Message');";
    return View(model);
}

// In the view (at the top - note the cast of "model" and "Model"
@model Namespace.SampleModel
// Then your script 
<script type="text/javascript">
   @Model.JS

或者,如果您不想创建模型,您可以通过 ViewBag 传递它,这是一个动态对象:

public ActionResult Index()
{
    ViewBag.JS = "addTableRow('My Message');";
    return View();
}

// In the view:
<script type="text/javascript">
   @ViewBag.JS
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从 MVC3 中的控制器调用 javascript 函数 的相关文章

  • MVC3 BeginForm 不渲染
    标签

    我的视图存在问题 未呈现开始和结束 FORM 标签 下面是我的控制器的代码 HttpGet Authorize public ActionResult Edit long id Position position positionRepos
  • 将集合传递给 EditorFor() 时,它会为输入元素生成无效名称

    我有一个 BookCreateModel 其中包含书籍的平面信息 例如标题 出版年份等以及书籍作者的集合 复杂类型 public class BookCreateModel public string Title get set publi
  • mvc3中如何通过ajax调用局部视图

    我需要通过ajax调用部分视图 我已尝试以下操作 但我不确定如何完成 UserName change function var userid UserName val var ProvincialStateID State val var
  • MapSingleType错误

    我通过 MVC3 创建一个项目 并首先使用 EF Code 作为数据访问层 在我的数据库中我有PackaginInfo表 在项目中我关心包类 这是我的代码 public class Package public decimal Packag
  • System.ArgumentException:程序集中的重复类型名称

    我正在使用 EF 4 1 开发 ASP Net MVC 3 Web 应用程序 从今天开始 我收到此错误 System ArgumentException 程序集中的重复类型名称 我不知道是什么原因造成的 执行查找时 它发生在我的存储库中 p
  • 在 MVC 中使用 DI 时的大量控制器构造函数参数列表

    我正在开发 ASP NET MVC3 解决方案 该解决方案使用 autofac 的依赖注入 我们的控制器由 autofac 正确创建 所有必需的对象都正确传入 这些对象通常包括服务 存储库和将域对象转换为 MVC 视图 模型的映射器 所以控
  • 在 SmartWizard 中后退时跳过验证

    我正在使用 SmartWizard 2 0 link http techlaboratory net products php product smartwizard 并且当用户点击 上一页 按钮或以任何方式在表单中向后移动时 我需要停止验
  • 如何选择性地呈现 ASP.Net MVC 3 中的某个部分?

    在我的网站上 我有一个部分 浮动侧边栏 我只想为一部分用户 管理员 呈现该部分 我希望我可以将逻辑放入主布局中 以确定是否应显示该部分 但如果未呈现该部分 则会导致页面上出现错误 示例代码 Layout cshtml code if use
  • 如何使用 Asp.Net MVC 3 和 Razor 获得特定于视图的 内容?

    除了 Layout cshtml 中已链接的内容之外 我还想在某些视图中链接特定的样式表 对于非 Razor 我看到使用内容占位符 我该如何为 Razor 执行此操作 Razor 中的内容占位符相当于部分 在你的 Layout cshtml
  • 在Application_Start中访问ninject内核

    我正在使用 Ninject 和随 nuget 安装的 MVC3 扩展 我的内核设置代码位于 App Start NinjectMVC3 cs 文件中 控制器中的一切都运行良好 但我无法弄清楚如何 正确 绑定 Global asax cs M
  • 如何在 MVC 3 Razor 中显示解码后的编码 HTML?

    我在 MVC 3 和 Asp net C 中使用 Razor 我有一个带有以下代码的视图 model ContentBody有一些 HTML 标签 我需要将此 HTML 内容显示为DECODED 我该如何更改视图中的代码 div class
  • asp.net mvc 3 中模糊的远程属性验证

    asp net mvc 3 中的内置远程属性会执行 onchange 验证 我希望它在模糊时验证 有没有办法自定义它 或者还有其他东西可以这样做 我确信这是一个非常普遍的需求 你可以设置默认值 http docs jquery com Pl
  • 将模型从一个动作传递到同一控制器中的另一动作

    我正在尝试通过我的模型List 语句列表从一个操作到另一个操作 但我在第二个控制器中收到空值 请提出这里有什么问题 甚至尝试过 return RedirectToAction WriteInTemplate new statementLis
  • 返回没有属性名称的 Json 结果

    很可能是一个相当微不足道的问题 但我就是找不到合适的答案 我想返回一个 JsonResult 但实际结果没有任何属性名称 这是我想要实现的一个小例子 xbox Xbox 360 Xbox cheats Xbox 360 games The
  • MVC3 DropDownList + JSON + 选定问题

    我的网站 MVC3 JQuery 及其移动版本 MVC3 JQuery mobile 之间有一个非常奇怪的行为 它们分为两个不同的解决方案 我正在使用以下代码根据另一个下拉列表 搜索值 更改下拉列表的内容 搜索值 Razor Html Dr
  • Unity IoC 和 MVC 3 Beta - 将 IRepository 传递给控制器​​构造函数

    MVC 3 中有什么变化吗 我已经尝试了互联网上所有将 Unity 设置为我的 IoC 容器的示例 但我不断收到错误消息 指出 Unity 无法解析我的 UserController 这是我的 UserController 上的构造函数 p
  • ASP.NET MVC4 CustomErrors DefaultRedirect 被忽略

    我有一个 MVC 4 应用程序 使用自定义 HandleErrorAttribute 仅处理自定义异常 我想拦截默认的 404 和其他非 500 错误页面 并用更有吸引力的内容替换它们 为此 我将以下内容添加到我的 Web config 中
  • ModelBinding asp.net MVC 列表

    我有以下课程 public class Movie string Name get set string Director get set IList
  • Azure 网站中的 404 处理

    我在 Azure 上有一个 MVC 网站 我已经编写了一个控制器操作来代表资源 该操作应该返回 HTTP 404 但正文内容应该是一些 HTML 我在其中解释了 404 的原因 这是作为一个标准操作实现的 该操作设置Response Sta
  • 关于JSON和序列化的问题

    我的视图模型有一个强类型视图 其中包含一个对象 Person 和一个技能列表 人是很直率的 我像这样使用 Html Helpers Html TextBoxFor m gt m Person FirstName 我提交表格并得到我想要的 问

随机推荐

  • 直接映射缓存

    直接映射缓存由 16 个块组成 主存包含 16K 块 每个块 8 字节 主存地址格式是什么 意思是每个字段的大小 我知道这些字段是 Tag Block Offset 我只是不知道如何获得每个的尺寸 这是作业吗 为了解决这个问题 您需要知道相
  • Android listview with Glide - 加载后位图加倍

    我正在开发一个安卓应用程序 我的片段之一包含一个简单的列表视图 显示朋友列表 每个朋友都可以有自己的个人资料图片 它是由 Glide 库设置的 当用户没有设置个人资料图片时 将显示默认图像 我的问题是 每次列表中的第一个元素都会获得与列表的
  • 如何使用 QEMU 的简单跟踪后端?

    这是后续this https stackoverflow com questions 37522552 qemu simple backend tracing dosent print anything comment65639854 37
  • javascript:禁用文本选择

    我正在使用 javascript 禁用网站上的文本选择 代码是 可以找到类似的脚本here http rainbow arch scriptmania
  • 使用声明隐藏名称

    include
  • prefix(_ maxLength:) 与符合 LazySequenceProtocol 的结构一起使用时会被类型擦除

    prefix maxLength returns a type erased Sequence in the following codeEXAMPLE http swift sandbox bluemix net repl 599df10
  • 下载文件时如何针对不同浏览器正确设置中文文件名

    我这样设置 response setHeader content disposition attachment filename URLEncoder encode 你好 txt utf 8 它在 Chrome 中有效 但在 Firefox
  • 如何将一个向量的参数插入另一个向量?

    我有一个大小为 5 的 重心 向量 parameter Length barycenters 5 1 2 3 4 5 我想将此向量的参数添加到另一个大小为 7 的向量 b prime 中 这意味着打算让 b prime 0 1 2 3 4
  • 闪亮动态添加输入字段和数据而无需重新渲染

    我正在尝试动态地将新变量添加到正在运行的闪亮应用程序中 但如果我开始编辑一个变量 则每次我添加其他变量时 值 文本和数字 都会重置 这example https stackoverflow com a 56468913 4083743无需使
  • 什么是好的“模板”Yosys 合成脚本?

    我想编写自己的 Yosys 综合脚本 从什么开始是一个好的模板 手册和网页包含各种示例 但没有 权威 的 hello world 示例 The synth命令运行通用综合任务的推荐脚本 看help synth http www cliffo
  • 函数调用后记住数组值

    如果我这样写 c def cf n c range 5 print c if any i gt 3 for i in c is True print hello cf 1 print c 然后我得到 1 2 3 4 hello 我对编程真的
  • 在 PyCharm IDE 5.0.4 中运行特定的单元测试函数

    我正在尝试使用 PyCharm 进行单元测试 使用unittest 并且能够使其工作 测试运行器很好地显示了测试用例和嵌套测试函数的列表 但是 一旦发现测试 我就找不到任何方法来 重新 运行特定的测试函数 唯一可用的按钮将运行整个测试列表
  • 如何解码 JSFuck 脚本?

    我在 JavaScript 中有这样的代码 在控制台中 它将返回 Array filter 如何解码大量与上面文本相似的文本 例如
  • 获取用户当前位置 iOS 8.0

    我尝试使用 MapKit 和 CoreLocation 获取用户当前位置 我对 Objective C 真的很陌生 就我的研究而言 旧版 iOS 到 iOS 8 0 的实现略有不同 我已经正确地遵循了一切 它仍在获取当前位置 我的实际目标是
  • 清除 Bootstrap 中的表单输入字段?

    Bootstrap 是否提供了通过按钮清除表单输入字段的功能 或者我需要通过 jquery 自己推出 从这篇文章jQuery Validate resetForm 不会重置 onFocus 验证 https stackoverflow co
  • 更改 config.assets.version 号有什么作用?

    更改 config assets version 号有什么作用 我知道资产会过期 正如评论中所写 但它在后台会做什么 它会删除所有已编译的资源吗 或者它是否采用该版本号并在其他地方使用它 它将使用另一个指纹 代码附加到文件名 来预编译资产
  • 量角器关闭当前选项卡

    我有一个非角度页面 我需要点击 2 个链接 单击自动在新选项卡中打开的链接之一时 现在我切换到新选项卡并设置browser ignoreSynchronization false因为新打开的选项卡是一个有角度的窗口 并调用我的测试之一 一经
  • 如何用权重标记图边

    Warning 当 Mathematica v 8 0 是最酷的孩子时 我发布了这个问题 该bug已于9 0 1版本解决 The help for EdgeLabels http reference wolfram com mathemat
  • Spark 中函数返回空列表

    下面是获取压缩文件中文件名列表的代码 def getListOfFilesInRepo zipFileRDD RDD String PortableDataStream List String val zipInputStream zipF
  • 如何从 MVC3 中的控制器调用 javascript 函数

    我环顾四周 找不到解决方案 因此我发现自己在这里 根据我所读到的内容 我可以使用 RegisterClientScript 或 RegisterClientScriptBlock 在 ASP NET Web 表单中执行此操作 我在任何 MV