首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

Request.QueryString接受多个参数的有关问题

2012-04-09 
Request.QueryString接受多个参数的问题asp:GridView IDdgv_post runatserver AutoGenerateColumns

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}"
就可以接收到,这是为什么呢? 


[解决办法]
不会吧?我测试是可以的啊

HTML code
<%@ 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>
[解决办法]
探讨

引用:
NavigateUrl="postcontent.aspx" 去掉

去掉了,但是却没有了超链接功能,变成了普通字段。

[解决办法]
如果可以就用<a>就行
<a href="postcontent.aspx?postId=<%# Eval("字段1")%>&postTime=<%# Eval("字段2")%>"
>跳转</a>

热点排行