使用 Jquery 设置 ViewBag 中的值

2023-12-28

我只是想问,有没有办法使用jquery动态设置viewbag值? 我在我的脚本中尝试这段代码,

$(".btn").on("click",function(){
@ViewBag.Id = $(this).attr("id")
});

我不知道它是否正确,但是当我尝试运行我的 MVC 3 项目时,此错误出现在我的萤火虫中

Syntax Error
    = $(this).attr("id")

请帮忙。谢谢


您误解了 ViewBag 的工作原理。

在 MVC 中工作时,打开一个网页,(大致)会发生以下情况:

  1. FooController 的“Index”方法被运行。最后返回一个View。
  2. 然后,您的 MVC 应用程序将为您找到视图,并根据在相关 .aspx 文件中找到的 HTML 开始呈现它。如果程序遇到诸如“@ViewBag.Id”之类的项目,它基本上会用“.Id”值进行字符串替换。 (它比这更复杂一些,但为了论证,它基本上进行了字符串替换)。
  3. 渲染后,HTML 文档将发送到您的浏览器,然后浏览器将显示它。

当您的浏览器获取该页面时,您的 ViewBag 基本上已经“超出范围”了。这是因为您的 ASP (MVC) 应用程序使用 ViewBag,但 Javascript 仅在 Web 浏览器文档中具有作用域(这是返回到浏览器的 HTML 代码)by应用程序,afterViewBag 超出了范围。 Javascript 不是 MVC 应用程序的一部分,只是生成的网页的一部分。

所以简短的回答是,不,你不能那样做。尝试将其视为进行内联字符串替换。 您只能将 ViewBag 值放入 HTML 页面,反之则不然。

假设你的Id是5,aspx文件中的代码如下:

$(".btn").on("click",function(){
    @ViewBag.Id = $(this).attr("id")
});

将被发送到浏览器

$(".btn").on("click",function(){
    5 = $(this).attr("id")
});

由于您的浏览器只能看到最后一部分,因此它在 Javascript 中没有意义。在您的情况下,由于语法错误,这仅意味着您的变量尚未初始化,并且您正在尝试访问null.

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

使用 Jquery 设置 ViewBag 中的值 的相关文章

随机推荐

  • Apache poi:删除 XWPFDocument 中的图片

    我正在编写一个应用程序 它采用带有一堆空段落和表格的 docx 文件 并使用 Apache POI 和数据库中的数据以编程方式填充它们 我提供的 docx 模型中还包含一系列图片 我的问题是我想删除不需要的图片 再次以编程方式 我看到有一种
  • TextMate 语法——规则的优先级

    我正在尝试修改 CSharp 语言的语法突出显示 因此我将在 C 字符串中获得 SQL 的语法突出显示 TextMate 支持嵌入语言 因此这似乎是可能的 我建立在csharp tmLanguage json https github co
  • 在 git 中交换暂存和未暂存更改的最短方法是什么?

    如果有一些更改添加到索引中 而有一些更改未添加到索引中 我如何交换这两组更改 它认为这对于临时提交来说是最容易做到的 当您有暂存和未暂存的提交时 在尝试对更改重新排序时可能会发生冲突 对分阶段的更改进行提交 创建一个分支供以后使用 git
  • 如何在 OpenAPI / Swagger 中递归引用封闭类型定义?

    我正在 Swagger 编辑器中编写 OpenAPI 定义 我的类型定义之一包含一个数组 其中包含与父元素类型相同的子元素 IE 像这样的东西 definitions TreeNode type object properties name
  • Centos 7 / Apache / PHP - mkdir():权限被拒绝

    在你大喊重复之前 并将我放逐至深渊 听我说完 我一直在为我工作的公司开发一个内联网站点 最初我是直接从运行的工作站上开发它Windows 7 IIS 当我接近完成网站 应用程序时 我得到了Centos 7正在运行的盒子Apache 所以我已
  • 定期刷新网页

    我的要求是我有一个 php 页面 必须根据数据库中的数据显示一些图形 数据 我想自动并定期刷新页面 以便可以更新图形 数据 因为数据仅在加载页面时获取 我怎样才能做到这一点 也许你可以尝试 setTimeout javascript 方法
  • 使用正则表达式查找字符串中的确切字符

    我有像下面这样的字符串 M10 end start M11 M1 M1 start M n1 end M1 我想要实现的目标是仅获得 M1 使用正则表达式 这是我当前的代码 Regex r new Regex M1 M1 输出如下所示 缺少
  • 在 scala 项目上 - 运行 sbt test 命令时出现错误 GC 开销限制超出

    我是 Scala 编程新手并正在学习GC overhead limit exceeded我执行时出错sbt test大型 scala 项目之一中的命令 有人知道我该如何解决这个问题吗 我得到了朋友的帮助 通过使用 mem 选项执行来增加内存
  • 用于检查属性不包含两个值的 CSS 选择器

    我有一个非常奇怪的 CSS 问题想要解决 我正在寻找任何 html 元素not have display none 以其任何有效形式 内联在style属性 一些例子
  • 如何访问 GTK/Gnome 上的主题字体和颜色

    假设我想编写一个特殊的文本编辑器小部件 我如何获得文本的默认主题颜色 选定的文本和背景 这是用户默认的 字体 我看到 GNOME 确实定义了 5 种特殊的系统字体和默认大小 为此 在 GNOME 外观配置对话框中 但我在 GTK 文档中没有
  • 如何在私有子网上运行Dataflow python?

    Apache Beam 2 1 0 添加了对在私有子网上的 Dataflow 运行器上提交作业且无需公共 IP 的支持 这是我们需要满足防火墙规则的 我打算使用squid代理来访问apt get pip等安装python依赖项 代理实例已经
  • 需要动态转换派生类:寻找替代方法

    我以这种简单的形式提出我的问题 class animal public animal name animal virtual void makenoise cout lt lt name lt
  • 替换 Javascript 构造函数的 .prototype 而不是添加它是否存在问题?

    我遇到过另一个开发人员的代码 它执行类似的操作来定义 Javascript 类型 function Ninja Ninja prototype swingSword function return true 当更传统的方式是这样的 func
  • 解析 allocator::rebind 调用

    我刚刚学习 C 分配器 我试图理解的目的struct rebind在每个分配器中 例如 在这个程序 https msdn microsoft com en us library 5fk3e8ek aspx include
  • Android 上 AVRCP 的最佳实践(将元数据发送到蓝牙设备)

    我想通过 Android 4 3 设备将元数据发送到蓝牙设备 我遇到的有效解决方案是向 google android music 谷歌音乐应用程序 发送意图 通知它有关元数据的信息 如下所示 通过A2DP AVRCP发送曲目信息 https
  • 为什么不建议在生产中启动单独的 MongoDB 实例作为副本集?

    根据评论中的讨论这个答案 https stackoverflow com a 51239633 330867 kevinadi 建议我提出一个与他的评论相关的新问题 您可以出于开发目的使用一个节点启动一个副本集 请注意 这不是生产环境的推荐
  • 如何使用 Plots.jl 根据 z 中的值对 (x,y) 散点图着色?

    使用 Julia 中的 Plots jl 包 我可以使用各种后端来制作基于两个向量的散点图x and y k 100 x rand k y rand k scatter x y 我无法找到有关如何根据某些长度给它们着色的信息k vector
  • 相当于 Ruby 中的“pass”

    在Python中有一个pass用于定义空函数 条件 循环等的关键字 Ruby 有类似的东西吗 Python 示例 def some function do nothing pass 不 Ruby 中没有这样的东西 如果你想要一个空块 方法
  • 升级到 JSF 2.4

    我正在尝试在 Netbeans 11 0 中从 JSF 2 2 升级到 2 4 I 下载了二进制文件 https mvnrepository com artifact org glassfish javax faces 2 4 0并将其添加
  • 使用 Jquery 设置 ViewBag 中的值

    我只是想问 有没有办法使用jquery动态设置viewbag值 我在我的脚本中尝试这段代码 btn on click function ViewBag Id this attr id 我不知道它是否正确 但是当我尝试运行我的 MVC 3 项