假设我有一个网址:http://localhost:4647/Project/MyList.aspx。
在回发时我想在网址中添加一些参数(pageNo = 4),如:http://localhost:4647/Project/MyList.aspx?pageNo=4
如上图所示,我可以在回发时将“pageNo = 4”添加到网址吗?如果是,请告诉我如何做到这一点。
答案 0 :(得分:4)
如果不重定向,则无法从服务器端代码更改客户端的URL。
客户端通常不会从服务器响应中读取URL。 (HTTP响应甚至不包含URL,除非重定向;有关详细信息,请参阅here和here。)
话虽如此,redirecting after posting无论如何都是一个非常好的主意 - 考虑使用这种技术。
答案 1 :(得分:0)
将form
method
类型定义设置为get
,并保留hidden
input
4
值和名称pageNo
。假设您已在http://localhost:4647/Project/MyList.aspx完成此操作。
<html>
<body>
<form method="get">
<input name="pageNo" type="hidden" value="4"/>
<input type="submit" value="submit"/>
</form>
</body>
</html>
在其他情况下,如果我们假设我们站在不同的页面上并从那里移动到MyList.aspx
,那么定义表单的action
属性。我们将该页面称为Default.aspx
<html>
<body>
<form method="get" action="MyList.aspx">
<input name="pageNo" type="hidden" value="4"/>
<input type="submit" value="submit"/>
</form>
</body>
</html>
在这里,我们只定义了action
的{{1}}属性。
答案 2 :(得分:0)
您可以尝试的另一件事:您可以使用隐藏的输入并在服务器端设置值,并在客户端读取它。
服务器:
hdnPageNumber.Value = "4";
客户端:
<asp:HiddenField id="hdnPageNumber" runat="server" ClientIDMode="Static" />
if ($('#hdnPageNumber').val() == "4")
{
....
}