首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >ASP.NET MVC3:如何在使用AJAX发布帖子时重定向到视图?

ASP.NET MVC3:如何在使用AJAX发布帖子时重定向到视图?
EN

Stack Overflow用户
提问于 2011-04-11 09:21:40
回答 2查看 3.1K关注 0票数 3

我有一个搜索视图,它使用AJAX向服务器发送请求。根据存储库返回的响应对象,应该在搜索视图(发出请求的视图)上显示一个对话框(使用Json对象填充数据),或者将用户重定向到结果视图(填充作为视图模型传递的响应中的数据)。

现在,我已经被告知(和经验),当一个帖子是使用AJAX制作的时候,不能重定向。那么,如果响应是从存储库获得的,是否有某种方法可以重定向到另一个视图并传递视图模型,如果应该显示对话结果,则只需要回发Json对象。

我的控制器操作由搜索视图发布,目前看起来像这样:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    [HttpPost]
    public ActionResult SomeAction(SearchRequest reqData)
    {
        ResponseBase response = worker.PerformSearch(reqData);

        if (response is ViewResponse)
        {
            //Redirect to "AnotherView" and pass response as the view model.
            return View("AnotherView", response as ViewResponse);
        }
        else if (response is DialogResponse)
        {
            //Return the Json object.
            return Json(new { type = "dialogresponse", data = response });
        }
        else
        {
            //To do: Put error handling code here.
            throw new NotImplementedException();
        }
    }
EN

回答 2

Stack Overflow用户

发布于 2011-05-23 22:39:40

这个问题有点老了,但我想我会提供我的意见。我遇到过类似的情况,我必须发布一篇文章,然后用更新内容填充页面上的一些html,或者将用户重定向到一个新的位置。可能有更好的方法来完成这一点,然而,这就是我所做的。如果您使用jQuery执行post,那么查看响应的内容类型就足够聪明了;要返回一个视图,只需像现在这样做,并在success函数中填充内容。如果您希望重定向用户

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
        string javascript = "window.location.href='{0}';";
        return JavaScript(string.Format(javascript, returnUrl));

mvc框架会将javascript mime类型附加到响应中,jQuery将提取该类型并执行javascript,然后重定向用户。唯一需要注意的是,在您的成功方法中,javascript将被填充到html内容中。为了克服这个问题,可以询问html的内容类型,类似于here

票数 2
EN

Stack Overflow用户

发布于 2011-04-11 09:34:07

我建议你把它分成两个电话。在第一个AJAX调用中,检查它是ViewResponse还是DialogResponse。如果ViewResponse进行另一个AJAX调用以获取实际的结果对象,则进行非AJAX服务器调用以重定向到新视图。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5619206

复制
相关文章
使用SQL语句创建表_用sql语句创建员工表
create table 表名 (列1 数据类型 1,列2 数据类型) tablespace 表空间
全栈程序员站长
2022/11/19
4.1K0
使用SQL语句创建表_用sql语句创建员工表
SQL语句中创建表的语句_用sql创建表
连接:mysql -h主机地址 -u用户名 -p用户密码 (注:u与root可以不用加空格,其它也一样)
全栈程序员站长
2022/11/03
4.7K0
SQL语句中创建表的语句_用sql创建表
SQL 基础-->创建和管理表
(列名 数据类型 [ default 默认值] [ 约束条件] [ , ......] )
Leshami
2018/08/07
9700
怎么创建数据表_sqlserver创建表的sql语句
知识点:数据库表的相关概念、创建数据库表的方法、设计数据库表、向数据库表中插入数据、建立不同数据库表之间的关系、删除数据库表。
全栈程序员站长
2022/11/17
3.2K0
怎么创建数据表_sqlserver创建表的sql语句
sql 创建表_sql server建表语句
在线Sqlite查看器|修改器 http://lzltool.com/sqlite-viewer
全栈程序员站长
2022/11/17
2.2K0
sql 创建表_sql server建表语句
SQL2012_创建数据库,创建表,表的内外链接
create table a1( aid int constraint PK_a primary key, age int check(age between 27 and 80), sex int check(sex in('M','F')), tel nvarchar(20) check(tel like'1[3,5,7,8][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]') ) create table b2( f n
赵腰静
2018/03/09
1.9K0
oracle创建表空间的SQL语句
oracle创建表空间语句: create tablespace shopping –创建一个叫shopping的表空间 datafile ‘shopping.dbf’ –物理文件名 size 50m –大小 autoextend on –自动增长 next 50m maxsize 20480m –每次扩展50m,最大为20480m extent management local;
全栈程序员站长
2022/09/18
4.2K0
数据库中创建表的语句_创建基本表学生表的sql语句
在线Sqlite查看器|修改器 http://lzltool.com/sqlite-viewer
全栈程序员站长
2022/11/02
4.9K0
使用SQL语句创建表(建立基本表数据的sql语句是)
1.创建表的语法 create table 表名 (列1 数据类型 1,列2 数据类型) tablespace 表空间
全栈程序员站长
2022/08/02
3.4K0
使用SQL语句创建表(建立基本表数据的sql语句是)
hibernate自动建表
表结构和数据总是在程序执行的时候无端的修改,折腾了好长时间,查了很长时间hibernate的数据库映射文件和接口程序,始终没有发现有什么错误,到最后才发现了它!
似水的流年
2019/12/05
1.7K0
数据库建表规则_SQL创建数据表
建表语句的规范: 1.字段的设计 A. 数据类型尽量用数字类型,数字类型的比字符类型的要快很多。   B. 数据类型尽量小,这里的尽量小是指在满足可以预见的未来需求的前提下的,但是有不能太小, 上次监控系统里面的表 mon_tair_stat_detail_2012_1 的data_size 和 use_size定义的是int(15) 实际上最大长度是int(11) 只有bigint才有(15). 所以在建表的时候一定要预估这个字段最大的长度到底是多少。   C. 尽量不要允许NULL,除非必要,可以用NOT NULL+DEFAULT 的值来代替。   D. 少用TEXT和IMAGE,二进制字段的读写是比较慢的,而且,读取的方法也不多,大部分情况下最好不用。
全栈程序员站长
2022/10/02
2.2K0
Excel VBA SQL Join Syntax ErrorExcel VBA SQL 连接语法错误
【问题标题】:Excel VBA SQL Join Syntax ErrorExcel VBA SQL 连接语法错误 【发布时间】:2015-09-24 00:08:56 【问题描述】:
matinal
2023/10/13
2510
菜鸟学SSH(十八)——Hibernate动态模型+JRebel实现动态创建表
项目用的是SSH基础框架,当中有一些信息非常相似,但又不尽同样。假设每个建一个实体的话,那样实体会太多。假设分组抽象,然后继承,又不是特别有规律。鉴于这样的情况。就打算让用户自己配置要加入的字段,然后生成相应的表。
全栈程序员站长
2022/07/08
5600
菜鸟学SSH(十八)——Hibernate动态模型+JRebel实现动态创建表
sql快速创建一张相同表结构的表
根据t_bond_basic_info表,创建表结构相同的表,取老表中的一部分字段t_bond_basic_info_new 后面的条件 where id>146000 创建的时候把id>146000的数据写到新表中,如果where 1<>1,只创建表结构,不把数据写进去
周小董
2019/03/25
3K0
oracle创建表的sql语句「建议收藏」
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/03
1.3K0
hibernate sql查询_sql server查询命令
SQLQuery接口用于接受一个sql语句进行查询,然后调用list()或uniqueResult()进行查询。但是sql语句不会直接封装到实体对象里,需要手写代码才可以封装到实体中。
全栈程序员站长
2022/11/11
2.7K0
[Java]Srping Boot 让hibernate 自动创建的表是InnoDB引擎的设置
但是上面的配置,无法在MySQL 5.5 创建InnoDB 表的同时不出错,因此在MySQL5.5的时候 需要使用下面的配置
用户2353021
2020/05/11
8120
[Java]Srping Boot 让hibernate 自动创建的表是InnoDB引擎的设置
mybatis和hibernate的以及jpa区别_hibernate sql
hibernate和mybatis是当前流行的ORM框架。hibernate对数据库结构提供了较为完整的封装。mybatis主要着力点在于java对象与SQL之间的映射关系。
全栈程序员站长
2022/09/30
1.2K0
mybatis和hibernate的以及jpa区别_hibernate sql
clickhouse的sql语法功能1-创建库,创建表等
分布式引擎参数:服务器配置文件中的集群名,远程数据库名,远程表名,数据分片键(可选)。 下面是样例:
公众号-利志分享
2022/04/25
2K0
sqlserver语句创建表格_创建表的sql语句外键
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/183704.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/27
2.2K0

相似问题

未创建Hibernate自动生成的SQL表。

10

hibernate未创建表

21

Hibernate Spring :表未创建[如果存在,则不成功:删除表]

13

未使用Hibernate创建表

21

Hibernate表未自动创建

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文