【问题标题】:location.href Asp.net MVC 4位置.href Asp.net MVC 4
【发布时间】:2014-07-11 21:29:11
【问题描述】:

当用户单击我的 div(即图片)时,我正尝试将用户重定向到我的另一个控制器。 这是我的家庭控制器:

 public ActionResult Index()
    {
        return View();
    }

    public ActionResult Rules()
    {
        return View();
    }

他们当然有自己的看法..

在 Index.cshtml 我正在尝试这个:

 $("#rules").on('click', function () {
            var url = '@Url.Action("Rules", "Home")';
            location.href = url;
        });

点击规则 div 浏览器后我的想法必须在我的 Rules.cshtml 中重定向,但它正在这样做:https://fbcdn-sphotos-h-a.akamaihd.net/hphotos-ak-xpa1/t31.0-8/10515357_776619705702730_572107523657856972_o.jpg

但我有 Home 控制器和规则操作.. 我做错了什么?

我也试过这个:

<a href="@Url.Action("Rules", "Home")">
            <div id="rules"></div>
        </a>

但结果相同..我认为控制器有问题但是..?当我单击“转到视图”时,Visual Studio 将我重定向到我的视图没有问题..

【问题讨论】:

  • 也许你可以尝试在javascript中使用非剃须刀绑定:var url = '@Url.Action("Rules", "Home")'; => var url = '&lt;%= Url.Action("Rules", "Home") %&gt;';;从我这边看,你最后的 url 似乎没问题,因为它在 url 中用 b 反向操作 a
  • 为什么需要使用javascript?你不能只使用一个链接吗?
  • 尝试构建您的项目。
  • 你的路由配置中有特定的路由吗?
  • 确保在页面完全加载后添加 onclick 事件

标签: javascript jquery asp.net-mvc asp.net-mvc-4


【解决方案1】:

没有理由不这样做:

<a href="@Url.Action("Rules")"><div>image</div></a>

如果您要重定向到同一个控制器,您只需指定操作名称。

如果像这样简单的事情不起作用,那么我怀疑你的路由值中有一些东西阻止它工作。或者可能还有其他问题,例如您是否使用区域?

【讨论】:

  • 我已经尝试过您的代码,但结果相同。不,我没有使用任何东西。简单的 MVC 没有任何东西。路由默认,一切都默认。你认为我必须尝试什么才能意识到这有什么问题?
  • 我猜你已经整理好了 - 有什么问题?
  • 视觉工作室:|他不认识控制器。当我右键单击项目并清除之后一切正常。但是您的代码对我有帮助,因为我将他标记为好答案
猜你喜欢
  • 1970-01-01
  • 2018-09-07
  • 2012-03-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-18
相关资源
最近更新 更多