【发布时间】:2013-06-28 22:36:18
【问题描述】:
我确信对此可能有一个非常简单的解释,但我尝试了几种方法都无济于事。
对 MVC 有点陌生,但我已经设置了一个带有条件搜索参数的控制器,现在只需要一种通过查询字符串传递参数的方法。
直接导航到:
Collectors/Index?searchName=Tom
效果很好,所以我在视图上设置了一个文本框来接受参数,并试图将用户重定向到 searchName= Input。
问题是由于某种原因 window.location.href 函数根本没有重定向页面。我已经尝试将目标设置为 _self 的 window.open 方法,但没有成功 - 但是使用目标 _new 或不指定总是有效。
这个函数不能在同一个窗口上工作有什么原因吗?
下面会产生一个警报,没有重定向,之后没有警报:
$("#search").click(function () {
alert("before");
window.location.href("../Collector/Index?collectorName=Tom");
alert("after");
但是这会产生警报和重定向(以及搜索结果)
$("#search").click(function () {
alert("before");
window.open("../Collector/Index?collectorName=Tom");
alert("after");
});
我的控制器操作:
public ActionResult Index(string collectorName)
{
var db = new CollectorsCRUDController();
var query = db.GetEXCEL_Collectors();
if (!String.IsNullOrEmpty(collectorName))
{
query = query.Where(c => c.CollectorName.Contains(collectorName));
}
return View(query);
}
任何提示都会很棒!谢谢!
已解决
对于其他对此有疑问的人:
我的问题是我使用了错误的语法来调用 window.location 方法...
window.location = URL
不是
window.location(URL);
对我有用的完整代码
$("#search").click(function () {
var query = $("#searchName").val();
window.location = "/Collector/Index?collectorName=" + query;
});
【问题讨论】:
标签: javascript jquery asp.net-mvc