【发布时间】:2016-03-23 16:18:52
【问题描述】:
我正在尝试这段代码:-
如果没有提供给索引方法的查询字符串,则呈现一个分支定位器视图。在该视图中选择分支 ID 后,回发到重定向到路由结果或操作结果方法,然后使用所选分支 ID 的查询字符串重定向回索引。
我可以在没有查询字符串的情况下成功运行代码。 我什至浏览了索引视图并且可以看到模型正在工作,但是索引视图没有呈现,分支选择器视图仍然存在。网络开发人员工具在执行重定向时显示正确的 URL 和正确的查询字符串。
(注意:两种方法都在同一个控制器上)。
如果我直接在浏览器地址栏中添加相同的查询字符串,它就可以正常工作!
我有这个代码:
[HttpGet]
public ActionResult Index()
{
var querystringbranchId = Request.QueryString["branchId"];
if(!string.IsNullOrEmpty(querystringId))
{
....do stuff like build a model using the branchId...
return View(Model);
}
return View("BranchSelector")
}
[HttpPost]
public RedirectToRouteResult BranchDetails(FormCollection formCollection)
{
var querystringBranchId = formCollection["BranchList"];
var branchId = int.Parse(querystringBranchId);
return RedirectToAction("Index", new { branchId });
}
【问题讨论】:
-
你能分享你的索引视图代码吗??
-
索引代码只是将查询字符串解析为 INT,然后使用返回模型的服务。谢谢!
-
AlwaysLearning:这与经典 ASP 无关,请重新标记您的问题。
标签: asp.net asp.net-mvc razor routing