我的 ViewBag 无法工作有什么原因吗?

2023-12-01

我有以下ActionResult in a controller你可以看到我在ViewBag如果成功的话。然后在View如果它不为空,它应该输出该消息。但是,我无法显示该消息,也没有看到问题所在。

[HttpPost]
        public ActionResult Create(FormCollection collection)
        {
            try
            {
                context.Roles.Add(new Microsoft.AspNet.Identity.EntityFramework.IdentityRole()
                {
                    Name = collection["RoleName"]
                });
                context.SaveChanges();

                ViewBag.ResultMessage = "Role created successfully.";
                return RedirectToAction("Index");
            }
            catch (Exception)
            {
                return View();
            }            
        }

这是我的 Index.cshtml

@model IEnumerable<Microsoft.AspNet.Identity.EntityFramework.IdentityRole>
@{
    ViewBag.Title = "Index";
}

<h2>Roles Listing </h2>

@ViewBag.ResultMessage

@Html.ActionLink("Create New Role", "Create") | @Html.ActionLink("Manage User Role", "ManageUserRoles")

<div>
    <table class="table table-bordered table-condensed table-striped table-hover ">
        <thead>
            <tr>
                <th>Role</th>
                <th>Action</th>
            </tr>
        </thead>
        <tbody>
            @foreach (var role in Model)
            {
                <tr>
                    <td><strong>@role.Name</strong></td>
                    <td>
                        <span onclick="return confirm('Are you sure you want to delete @role.Name?')"><a href="/Roles/[email protected]" class="delLink" style="color:red;">Delete</a></span> |
                        @Html.ActionLink("Edit", "Edit", new { roleName = @role.Name })
                    </td>
                </tr>
            }
        </tbody>
    </table>
</div>

ViewBag当您从controller to view。寿命短意味着当发生重定向时值变为空。这是因为他们的目标是提供一种相互沟通的方式controllers and views。这是服务器调用中的一种通信机制。

既然你正在使用RedirectToAction, the ViewBag变成null当它达到view.

您可以使用TempData为了这:

TempData["ResultMessage"] = "Role created successfully.";

It uses Session作为存储,但在第二次响应后它将不再存在。TempData当您从一个位置移动时有助于维护数据controller给其他人controller或从一个动作到另一个动作。换句话说,当您重定向时,Tempdata有助于维护这些重定向之间的数据。它在内部使用会话变量。TempData在当前和后续请求期间使用仅意味着当您确定下一个请求将重定向到下一个视图时使用它。

有关于此的更多理解,请参阅此link

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

我的 ViewBag 无法工作有什么原因吗? 的相关文章

  • asp.net mvc 4 - 可以在每个线程共享 DbContext 吗?

    From 每个 Web 请求一个 DbContext 为什么 https stackoverflow com questions 10585478 one dbcontext per web request why 我的理解是 DbCont
  • IsReusable 属性中的上下文切换

    是否可重用属性 下面是我的理解IsReusable财产 如果处理程序返回静态内容 将值设置为 true 是安全的 但如果线程返回动态内容 为了使其线程安全 IsReusable应设置为 false 在这种情况下 可能会发生上下文切换 这可能
  • ASP.NET MVC,控制器可以改变提交的值吗?

    ASP NET MVC 中是否允许更改提交的值 HttpPost public ActionResult Create Person toCreate toCreate Lastname toCreate Lastname A return
  • 从 mvc 控制器使用 Web api 控制器操作

    我有两个控制器 一个mvc控制器和一个api控制器 它们都在同一个项目中 HomeController Controller DataController ApiController 如果我想从 HomeController 中使用 Dat
  • Ajax 表单从 Jquery 对话框内重定向页面

    我在部分视图中有一个 jquery 对话框 model JQueryDialogPoc Models FeedBack using Ajax BeginForm GiveFeedback Home null new AjaxOptions
  • Asp.net MVC 路由 - 防止通过约束路由到 XML 文件

    我正在尝试找到一种方法来阻止用户访问特定的 xml 文件 我尝试过做 routes MapRoute SiteMap SiteMap siteMap xml new new isLocal new LocalHostRouteConstra
  • 构建视图模型的最佳方法是什么?

    我正在使用带有实体框架的 asp net mvc 并开始学习 DDD 我正在从事包含调查的项目 这是我的域模型 public class Survey public int SurveyID get set public string Na
  • 发布时出错:System.DirectoryServices.DirectoryServicesCOMException

    我在我的 asp net MVC 解决方案中使用 AD 身份验证 它在本地服务器中工作 但是当我发布它时 我收到错误 System DirectoryServices DirectoryServicesCOMException 发生操作错误
  • ASP.NET MVC 多线程

    我想在我的 asp net mvc 应用程序中实现这样的逻辑 user clicks a button gt server executes some time consuming logic in 15 threads i get dat
  • orchard cms路由问题

    我创建了一些自定义内容类型 其中包括路线部分 以便我的内容管理员可以编辑项目的别名 我没有运气配置一条路线 使我自己的控制器能够为这些项目的请求提供服务 核心 Routable 模块中到 ItemController 的路径的路由优先级为
  • 如何以一种形式发布两个或多个模型?

    我正在为一个项目开发互联网课程计划应用程序 该课程计划是根据以下模型构建的 使用数据库优先方法中的实体框架生成 public partial class Subject public int Id get set public string
  • MVC 重定向到没有控制器的视图

    希望应该是一个简单的 我创建了一个通用错误视图 当整个站点的操作方法内发生异常时 我想显示该视图 我创建了一个部分页面 所有导航都位于其中 因此我不需要在此视图上使用控制器 那么如何从控制器内的操作方法重定向到它 像这样的东西 HttpPo
  • 从 MVC 控制器操作调用 javascript

    我可以调用 javascript 函数吗MVC 控制器动作 不是来自视图页面 并获取返回值 如何 我需要向服务器发出请求来自代码 cs 像这里一样使用 javascript 但这是aspx页面 function getInitData va
  • 关于实体框架上下文生命周期的问题

    我对 ASP NET MVC 应用程序中实体框架上下文的所需生命周期有一些疑问 让上下文在尽可能短的时间内保持活动状态不是最好的吗 考虑以下控制器操作 public ActionResult Index IEnumerable
  • 如何从asp net core中的AuthorizationFilter重定向到登录页面?

    当我回来时ForbidResult 它重定向到AccessDenied启动时指定的页面 我想做同样的事情UnauthorizedResult 但重定向到Login page P S 我没有使用标准Authorize控制器中的属性我有自己的
  • mvc4 捆绑包,它是如何工作的?

    在 mvc4 中 他们使用捆绑包来调用所有脚本和 css 文件一次 据我所知 调用js和cs文件时 它们的顺序很重要 如果我使用捆绑包 我如何知道捆绑包内的 css 和 js 文件的顺序是否正确 我可以定制订购吗 我现在的日期选择器有问题
  • Signal R Native Android 应用程序协商失败

    我正在尝试创建一个可以连接到我的基本 SignalR Hub 的 Android 应用程序 它只是一个基本的集线器文件 我想用它来测试一些东西 但到目前为止我还没有运气 有人可以看看我做错的事情吗 每次我尝试运行它时 我都会收到以下堆栈竞赛
  • 如何从 Asp.Net Core 中间件通过 JsonResult 进行响应?

    我想通过以下方式回复JsonResult来自 Asp Net Core 中间件 但如何实现这一点并不明显 我用谷歌搜索了很多 但收效甚微 我可以通过JsonResult来自全球的IActionFilter通过设置ActionExecuted
  • Automapper、Mapper 未初始化。使用正确的配置调用初始化

    当我尝试将数据提交到数据库时 出现以下错误 Success false Error true ErrorType 2 Message System InvalidOperationException Mapper 未初始化 使用适当的配置调
  • MVC - 应用程序根目录在使用 Url.Content/Url.Action 的 url 中出现两次

    我在同一个域上有几个 mvc 应用程序 每个应用程序都有自己的目录 mydomain com app1mydomain com app2 etc 在根级别使用 Url Content 和 Url Action 时 app1 部分在 url

随机推荐

  • Hive - 可以提取常见选项以便在其他脚本中重用吗?

    我有两个 Hive 脚本 如下所示 脚本A SET hive exec dynamic partition true SET hive exec dynamic partition mode non strict SET hive exec
  • 适用于 Mac 的 VSTO?

    我使用 VSTO 构建了一个自定义 Outlook 工具栏选项 该选项将电子邮件记录在数据库中 这在 Windows 中运行良好 然而 有人问我是否可以将其迁移到 Mac for Entourage 我认为这是 Mac 版本的 Outloo
  • 混合托管和非托管 C++ 代码?

    关于将托管 C 与非托管 C 混合使用 我有几个具体问题 如果我遗漏了ref and value在类 结构声明中 这是否会自动使类 结构成为非托管的 或者我还需要包括 pragma unmanaged and pragma managed指
  • scipy imsave 保存错误的值

    我正在尝试编写使用 numpy 和 scipy 生成视差图的代码 但是我在图像的 numpy 数组中存储的值与输出图像中实际显示的值完全不同 并使用杂项保存 我保存 例如 在数组中 没有一个值大于 22 但在图像中 我有从 0 到 255
  • Oracle SQL 正则表达式未返回预期结果

    我正在使用一个在 Java PHP regex 测试器中完美运行的正则表达式 d s d 3 例子 https regex101 com r oH6jV0 1 但是 尝试在 Oracle SQL 中使用相同的正则表达式不会返回任何结果 举个
  • 通过webapp重启tomcat

    我有一个关于通过我的 web 应用程序重新启动 tomcat 服务器的疯狂请求 我为此搜索了近 2 天 我发现的只是执行外部批处理文件或调用另一个程序来执行此操作 使用java代码有没有最佳的解决方案 我错过了什么吗 为什么不直接创建一个脚
  • 如何使用 Objective C 在 iPhone 的表格视图上应用复选标记?

    我正在尝试在表视图中申请复选标记 但它不起作用 如果我再次在该单元格中再次检查 则复选标记适用 但不适用于新选定的单元格 那里有谁能帮助我 谢谢阿米尔 我正在使用以下代码 pragma mark pragma mark Table Data
  • 无法使用 popen 启动两个交互式 shell

    我有以下 Python 代码片段 但无法解释它为什么会这样 import subprocess bash1 subprocess Popen bin bash l i stdin subprocess PIPE print Checkpoi
  • 类型错误网格搜索

    我曾经创建循环来寻找模型的最佳参数 这增加了编码中的错误 所以我决定使用GridSearchCV 我正在尝试为我的模型找出 PCA 的最佳参数 我想要进行网格搜索的唯一参数 在这个模型中 归一化后 我想将原始特征与 PCA 缩减特征相结合
  • JavaScript。如何比较输入数组

    我已经被这个问题困扰三天了 请有人帮助我 挑战5构造一个函数intersection比较输入数组并返回一个新数组 其中包含在所有输入中找到的元素 function intersection arrayOfArrays console log
  • 您可以将实例变量声明为构造函数中的参数吗?

    这行得通吗 class Cars Cars int speed int weight 我只是想弄清楚构造函数 如果它像方法一样被调用 那么我认为它会像方法一样工作 您可以在调用该方法时使用的方法中创建局部变量 因此我不明白为什么必须在构造函
  • 推送通知委托回调未被调用

    我通过调用以下代码来注册推送通知 UIApplication sharedApplication registerForRemoteNotificationTypes UIRemoteNotificationTypeBadge UIRemo
  • ESP 和 EAX 一样通用吗?

    在x86架构下 可以做什么EAX但不与ESP 忘记了push and pop and call ESP 由中断隐式异步使用 在现代操作系统中 这只适用于内核堆栈 不适用于用户空间堆栈 当中断使能时 内核代码始终需要保持 ESP 有效 并假设
  • Django Heroku 没有名为“我的应用程序名称”的模块

    我正在尝试将我的第一个 Django 应用程序部署到 Heroku 我能够迁移数据库并创建超级用户 但现在我陷入了困境 2018 05 19 22 51 01 0000 4 INFO Listening at http 0 0 0 0 31
  • 避免在 JqGrid 工具栏中搜索特殊字符

    我已经使用 Asp Net 成功构建了 Jq GRid 它具有除 避免工具栏搜索中的 Spl 字符 之外的所有必需功能 我试图找到工具栏的 ID 但没有成功 谁能告诉我如何使用正则表达式之类的东西来拒绝输入某些 Spl 字符 例如 和其他一
  • 使用该线上的点找到垂直线

    我有一条线 P1 P2 以及该线上的一个点 中点 我可以使用什么方程找到穿过中点的直线 P1 P2 的垂直线 标有 的点未知 我不想使用角度 只想使用给出的 3 个点 P1 P2 中点 线P1 P2可以具有任何方向 角度 提前致谢 定义向量
  • 如何从另一个jar运行一个jar文件

    我有一个已使用 L4J 转换为 exe 的 jar 文件 以及 appdata 中的另一个 jar 文件 有两个文件的原因是我需要一个更新机制 我的问题 如何在桌面上运行 exe 文件 然后从中加载 appdata 中的 jar 你可以使用
  • Python获取文件名并更改并将其保存在变量中

    我正在关注需要一个最小的 Django 文件上传示例 在view py中有 newdoc Document docfile request FILES docfile newdoc save 假设我上传文件xyz csv这使得 newdoc
  • C# 中的 UTF8(引用的可打印)转换问题

    我正在从邮箱中提取法语电子邮件 并且这些电子邮件包含重音符号 我相信它使用UTF8编码 我尝试过在互联网上找到的不同 UTF8 转换方法 但均不成功 例如 在 C 中 如何将 Montr C3 A9al 转换为 Montr al 编辑 此外
  • 我的 ViewBag 无法工作有什么原因吗?

    我有以下ActionResult in a controller你可以看到我在ViewBag如果成功的话 然后在View如果它不为空 它应该输出该消息 但是 我无法显示该消息 也没有看到问题所在 HttpPost public Action