MVC3路由和哈希值,JSon没有被调用

时间:2011-09-01 06:14:49

标签: json asp.net-mvc-3

我目前有一个网站,我使用Json根据用户输入填充下拉列表。

当我转到原始网站:examples.com/Account/Logon时,json执行正常。 如果用户输入无效登录名,MVC会将我的链接替换为:examples.com/Account/LogOn#/Account/LogOn

我的Json事件都没有执行,页面也无法正常工作。

一旦我登录我的网址就会变成 examples.com/Account/LogOn?ReturnUrl=%2f#/Controller

之后的所有操作还会使用:/ Account / LogOn?ReturnUrl =%2f#/ Controller logic

我的路线是:

 "Default", // Route name
                "{controller}/{action}/{id}", // URL with parameters
                new { controller = "Home", action = "Index", id = UrlParameter.Optional }

我的登录成功代码:

if(Url.IsLocalUrl(returnUrl)&& returnUrl.Length> 1&& returnUrl.StartsWith(“/”)                     &安培;&安培; !returnUrl.StartsWith(“//”)&& !returnUrl.StartsWith( “/ \”))                 {                     return Redirect(returnUrl);                 }                 其他                 {                     return RedirectToAction(“Index”,“Home”);                 }

我的登录失败是:

return View(model)

1 个答案:

答案 0 :(得分:1)

网址中#符号(片段)后面的所有内容都不会被客户端浏览器发送到服务器。这意味着服务器永远不能获取它。只有javascript才能访问该网址的这一部分。