请教,在htm里面****.aspx?id=一个绑定的值,然后要在后台cs里面如何获得id的值,在cs里而用string a=Resquest["id"] 提示报错  
就是要后台获取前台htm里面的变量值.
详细代码:
html:
<%@ Register TagPrefix="uc1" TagName="bottom" Src="bottom.ascx" %>
<%@ Register TagPrefix="uc1" TagName="head" Src="head.ascx" %>
<%@ Page language="c#" Codebehind="news.aspx.cs" AutoEventWireup="false" Inherits="vtc.news" %>
<%@ Import namespace="System.Data" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>福建师范大学职业技术学院--新闻动态</title>
<meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
<meta content="C#" name="CODE_LANGUAGE">
<meta content="JavaScript" name="vs_defaultClientScript">
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
<LINK href="/vtc/style.css" type="text/css" rel="stylesheet">
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<TABLE id="Table1" style="WIDTH: 760px" height="185" cellSpacing="0" cellPadding="0" width="760"
align="center" border="0">
<TBODY>
<TR>
<TD vAlign="top"><uc1:head id="Head1" runat="server"></uc1:head></TD>
</TR>
</TBODY>
</TABLE>
<TABLE id="Table2" borderColor="#666666" cellSpacing="0" cellPadding="0" rules="none" width="760"
align="center" bgColor="#ffffff" border="1" frame="vsides">
<TBODY>
<TR>
<TD style="HEIGHT: 25px" align="right" height="25"><asp:datalist id="DataList1" runat="server" RepeatDirection="Horizontal">
<ItemTemplate>
<img src="/vtc/img/none.gif" border="0"><img src="/vtc/img/link2.gif" border='0'>&nbsp;<%# "<a href=news.aspx?catid="+((DataRowView)Container.DataItem)["catid"]+">"+((DataRowView)Container.DataItem)["name"]+"</a>" %>
</ItemTemplate>
</asp:datalist></TD>
</TR>
<TR>
<TD width="760" background="/vtc/img/menu_bg2.gif" height="4"><FONT face="宋体"></FONT></TD>
</TR>
</TBODY>
</TABLE>
<TABLE borderColor="#ffffff" cellSpacing="0" cellPadding="0" rules="none" width="760" align="center"
border="1" frame="vsides">
<TBODY>
<TR>
<td width="553" align="left" vAlign="top" bgcolor="#ffffff"><br>
<asp:Repeater id="Repeater1" runat="server">
<HeaderTemplate>
<table width='530' height="25" border='0' align="center" cellpadding='2' cellspacing='0'
background="/vtc/img/mainbg.gif">
<tr>
<td>&nbsp;&nbsp;<img src="/vtc/img/biao.gif" align="absmiddle">&nbsp;
</td>
</tr>
</table>
<table width="530" border="1" align="center" cellspacing="0" cellpadding="3" bgcolor="#FFFFFF"
bordercolor="#C0C0C0" style="border-collapse: collapse">
<tr>
<td bgcolor="#ECECEC" width="73%" align="center" height="22">文章标题</td>
<td bgcolor="#ECECEC" width="27%" align="center">发表时间</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td bgcolor="#FFFFFF" height="22">&nbsp; <img src="img/none.gif" border="0"><img src="img/i9.gif" border='0'>&nbsp;
<a href='javascript:news("showNews.aspx?id=<%# ((DataRowView)Container.DataItem)["id"] %>")'>
<%# ((DataRowView)Container.DataItem)["title"] %>
</a>
</td>
<td bgcolor="#FFFFFF" align="center"><%# ((DataRowView)Container.DataItem)["infotime"] %>
</td>
</tr>
</ItemTemplate>
<FooterTemplate>
</FooterTemplate>
</asp:Repeater>
</td>
<td width="1" height="190" background="img/xu.gif"></td>
<td width="204" align="left" vAlign="top" background="img/left_bg2.gif"></td>
</TR>
</TBODY>
</TABLE>
</form>
</body>
</HTML>后台cs代码:using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
namespace vtc
{
/// <summary>
/// news 的摘要说明。
/// </summary>
public class news : System.Web.UI.Page
{
public string name;
public string title;
public string count;
public string content;
public string keyword;
public string infotime;
protected System.Web.UI.WebControls.DataList DataList1;
protected System.Web.UI.WebControls.Repeater Repeater1;
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if(!this.IsPostBack)
{
this.DataList1.DataSource=news.bingNewsDataList();
this.DataList1.DataBind();
this.Repeater1.DataSource=news.bingNewsRepeater();
this.Repeater1.DataBind();
}
}
public static DataSet bingNewsRepeater()
{
string idfor;
idfor=Request.["catid"];
SqlConnection con=DB.createCon();
SqlDataAdapter sda=new SqlDataAdapter();
sda.SelectCommand=new SqlCommand("select * from t_news where idfor=@idfor",con);
SqlParameter para = sda.SelectCommand.Parameters.Add("@id",SqlDbType.Int);
// sda.SelectCommand.CommandType=CommandType.StoredProcedure;;
// news n=new news();
para.Value = idfor;
DataSet ds=new DataSet();
sda.Fill(ds);
return ds;
}
public static DataSet bingNewsDataList()
{
SqlConnection con=DB.createCon();
SqlDataAdapter sda=new SqlDataAdapter();
sda.SelectCommand=new SqlCommand("select * from t_newscat",con);
// sda.SelectCommand.CommandType=CommandType.StoredProcedure;;
DataSet ds=new DataSet();
sda.Fill(ds);
return ds;
}
// public void newsBody()
// {
// try
// {
// SqlConnection conn = DB.createCon();
// conn.Open();
// SqlCommand cd = new SqlCommand ("select * from v_newsList",conn);//使用存储过程来提升速度
// cd.CommandType=CommandType.StoredProcedure;
// SqlParameter ids = cd.Parameters.Add("@id",SqlDbType.Int);
// ids.Value = Request["id"];
// SqlDataReader rd ;
// rd=cd.ExecuteReader();
// if(rd.Read()==true)
// {
// infotime=rd.GetDateTime(7).ToShortTimeString();//是从视图中查询,不是从表,所以索引为7,可以用select * from v_newsList获得
// name=rd.GetString(2);
// keyword=rd.GetString(9);
// title=rd.GetString(4);
// content=rd.GetString(5);
// count=rd.GetString(8);
// rd.Close();
// }
// else Response.Write("出错啦!");
// }
// catch(SqlException e)
// {
// Console.WriteLine("Exception in main:"+e.Message);
// }
// }
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{    
this.Load += new System.EventHandler(this.Page_Load); }
#endregion
}
}

解决方案 »

  1.   

    DataList绑定,你换成<%# DataBinder.Eval(Container.DataItem,"id").ToString() %>
    试下
      

  2.   

    String a=Request.QueryString.Get("id");
      应该是这样的
      

  3.   

    Request["dddd"] 。
    这是什么东西????Request.querystring["ddd"] or
    Request.Form["ddd"].....................................
      

  4.   

    string a=Request.QueryString["id"]
      

  5.   

    string a=Request.QueryString["id"]
      

  6.   

    stirng str_id=HttpContext.Current.Request.QueryString["id"];为什么我的站点只有几十IP访问量,555
    http://www.aspbase.net/
      

  7.   

    string a=Request.QueryString["id"]
      

  8.   

    不好意思,太急了,没讲清楚,我是想请问各位帅哥。
    假如,我在一个页中的前台html里挂着几个文字,附上超级连接。
    ------------------------------
    在html中如:<%# "<a href=news.aspx?id="+((DataRowView)Container.DataItem)["id"]+">论坛</a>" %>然后我想在后台CS中获得这个id的值,因为编译时没有触发这个连接,所以执行时应该没值传过来,不过为什么执行都执行不了,我在后台定义string a=Request.QueryString["catid"]或者stirng str_id=HttpContext.Current.Request.QueryString["id"];  Request.Form["id"]都报错呢?我在html里用<%string a=Request.Form["id"]%>然后Response出来,点击时,会有值获得,可要是想在后台里应如何写?想要实现的效果,就是后台获得前台绑定项ID的值。做个文章系统,分类是用Repeater绑定显示,大家都知道Repeater绑定是必须在前台htm指定绑定项才会显示,可绑定时后台如何获得这个值。文件间获值是可以,我在index的htm里面也是这样写shownews.aspx?id=="+((DataRowView)Container.DataItem)["id"]+"  然后在shownews.aspx.cs用Request可以获到值,执行成功。可是在相同文件内,如何在后台来写这个Request呢?
      

  9.   

    再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求再求
    ------------------------------------------我猜可能是因为这个超级连接没有触发,没有值传过来,使得request没值,请问如何写这个判断。
      

  10.   

    前台 <%=a%>
    后台 string a=Request.QueryString["catid"]
      

  11.   

    不能在同一页面获取Request 值
    要获取某一行的某一列的值  需加按钮列
     如   要获取的值        按钮列
             7              选择
             4              选择
             5              选择
    到属性的 闪电 事件里面选 ItemCommand 事件
    事件中要获取的值为 e.Item.Cells(所在列).Text