当前位置: 代码迷 >> ASP.NET >> mvc:Request.QueryString[ "xx" ]没法获取值?
  详细解决方案

mvc:Request.QueryString[ "xx" ]没法获取值?

热度:6494   发布时间:2013-02-25 00:00:00.0
mvc:Request.QueryString[ "xx" ]无法获取值??
mvc项目里一个control,是Home
home里有两个action,一个是a,一个是b。
也分别对应两个view
——————————————————————————————————————
在a页面,a页面没有form,没有使用form的get或post提交。我是这么提交的:
js里直接写页面的跳转
JScript code
window.location.href = "/Home/b/kw=aaa&fc=bbb"; //三个方法都不行window.location.href = "/Home/b?kw=aaa&fc=bbb";window.location.href = "/Home/b/?kw=aaa&fc=bbb";


在b的action里:
JScript code
var keyWord = this.Request.QueryString[ "kw" ];//fc也不行

这里获取不到值,是null的。为什么呢??
——————————————————————————————————

我知道用form的get或post可以提交过去,但是我想在b页面显示在url上参数。
另外,route我未做处理。
C# code
routes.MapRoute(                "Default", // Route name                "{controller}/{action}/{id}", // URL with parameters                new                {                    controller = "RenCai",                    action = "Default",                    id = UrlParameter.Optional                } // Parameter defaults            );




------解决方案--------------------------------------------------------
public ActionResult Create(int? pid)
{
ViewData["pid"] = pid;
return View();
}

在Action的参数中可以获取
------解决方案--------------------------------------------------------
public ActionResult Create(int? pid)
{
ViewData["pid"] = pid;
return View();
}

在Action的参数中可以获取
------解决方案--------------------------------------------------------
<%= Html.ActionLink("编辑", "Edit", new { id = item.PKID })%>
------解决方案--------------------------------------------------------
你想在页面显示get参数,而route还没做处理,本身就矛盾
------解决方案--------------------------------------------------------
那就不用JS,就加一个FORM,用action来传值啊
  相关解决方案