2013-03-11 56 views
0

MVC newbee here。我有一个主视图(Index.cshtml)的MVC3项目。从这个视图中你可以进入CreateRemark.cshtml视图。您可以在此视图上创建并保存注释。在POST操作中,我有将数据保存到数据库的逻辑,然后我想再次呈现索引视图。MVC:返回错误的URL查看

我这样做,我的行动CreateRemark年底通过写

Return View("Index"); 

我希望我的URL看起来像本地主机/或本地主机/索引。但它一直说本地主机/ CreateRemark?id = 123,而它实际上呈现索引视图上的HTML。它呈现错误,虽然(我还没有完全调查,但它缺少按钮中的所有图像和层次网格未命中第二级),我想我可以通过确保我指示最终用户到索引视图在正确的MVC方式。我认为我做错了。

GET/POST操作索引和CreateRemark都在同一个主控制器中。我想我以后需要一个RemarkController,但还没有这样做。抱歉。

有人可以指点我正确的方向吗?在此先感谢您的帮助。

+0

视图与网址不对应,您的路由配置(默认情况下使用{controller}/{action}。 – roryf 2013-03-11 13:28:58

+0

感谢您的回复。 – 2013-03-11 14:02:08

回答

1

的URL是无论用户导航到。如果他们导航到该页面(我假设在“从这个视图中你可以去...”位),然后这是网址

您在Return View("Index")中提供的字符串与URL没有任何关系;它只是告诉视图引擎使用哪个视图文件。你可以在这一点上更改URL的唯一办法是一个重定向返回索引动作/路线:

return RedirectToAction("Index"); 

这将涉及到客户端的额外的http请求,请注意。

+0

感谢您的额外信息。对于客户端来说,额外的http请求是不好的吗?它会减慢我假设的东西吗?问题是,如果我不给这个重定向,我使用的分层网格出于某种原因会出错。 – 2013-03-11 14:05:07

+0

“bad”有点主观。直接的,当然,至少它会增加任何延迟 – 2013-03-11 14:21:26