Request.QueryString接受多个参数的问题
<asp:GridView ID="dgv_post" runat="server" AutoGenerateColumns="False"
AllowPaging="True">
<Columns>
<asp:HyperLinkField DataNavigateUrlFields="postId,postTime" NavigateUrl="postcontent.aspx"
DataNavigateUrlFormatString="postcontent.aspx?postId={0}&postTime={1}"
DataTextField="postTitle" HeaderText="标题">
<HeaderStyle Width="50%" />
</asp:HyperLinkField>
</Columns>
</asp:GridView>
————————————
string postId = Request.QueryString["postId"];
string postTime = Request.QueryString["postTime"];
代码如上,但我没办法在postcontent.aspx页面接受到两个参数。
如果我只设置一个的话,如:<asp:HyperLinkField DataNavigateUrlFields="postId" NavigateUrl="postcontent.aspx"
DataNavigateUrlFormatString="postcontent.aspx?postId={0}"
就可以接收到,这是为什么呢?
[解决办法]
不会吧?我测试是可以的啊
<%@ Page Language="C#" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><script runat="server"> protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { System.Data.DataTable dt = new System.Data.DataTable(); System.Data.DataRow dr; dt.Columns.Add(new System.Data.DataColumn("postId", typeof(System.String))); dt.Columns.Add(new System.Data.DataColumn("postTime", typeof(System.String))); dt.Columns.Add(new System.Data.DataColumn("postTitle", typeof(System.String))); for (int i = 0; i < 8; i++) { dr = dt.NewRow(); dr[0] = i.ToString(); dr[1] = (i * i).ToString(); dr[2] = (i * i * i).ToString(); dt.Rows.Add(dr); } GridView1.DataSource = dt; GridView1.DataBind(); } }</script><html xmlns="http://www.w3.org/1999/xhtml"><head id="Head1" runat="server"></head><body> <form id="form1" runat="server"> <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false"> <Columns> <asp:HyperLinkField DataNavigateUrlFields="postId,postTime" DataNavigateUrlFormatString="http://dotnet.aspx.cc/Default.aspx?postId={0}&postTime={1}" DataTextField="postTitle" HeaderText="标题"> </asp:HyperLinkField> </Columns> </asp:GridView> </form></body></html>
[解决办法]