日期:2014-05-17  浏览次数:20517 次

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来传值啊