// 查看的页面 
protected void DataList1_EditCommand1(object source, DataListCommandEventArgs e)
    {
        if (ViewState["FT_Id"] != null && !(ViewState["FT_Id"].ToString().Equals("")))
        {
            int id = Convert.ToInt32(ViewState["ft_id"]);
            FatieManager fm =new FatieManager();
            
            MemberManager mm = new MemberManager();
            Member M = new Member();
            Fatie ft = fm.GetFatieByFT_Id(M.Mid);
            M = mm.GetMemberByMid(id);
            Response.Redirect("FtUpdate.aspx?id="+ft.FT_Id);
            
        }
    }// 编辑页的后台    protected void Page_Load(object sender, EventArgs e)
    {
        bind();
    }
    public void bind() 
    {
        int id = Convert.ToInt32(Request.QueryString["FT_Id"]);
        Member M = new Member();
        MemberManager mm = new MemberManager();
        FatieManager ftm = new FatieManager();
        Fatie ft = new Fatie();
        M = mm.GetMemberByMid(id);
        ft=ftm.GetFatieByFT_Id(id);
        this.lblName.Text = ft.M.MemberName;
        this.lblTitel.Text = ft.FT_Title;
        this.lblContent.Text = ft.FT_NeiRong;
        this.lblTime.Text= ft.FT_Datetime;
    }
    protected void btnUp_Click(object sender, EventArgs e)
    {
        bind();
        Member M = new Member();
        Fatie ft = new Fatie();
        ft.M.MemberName = this.lblName.Text;
        ft.FT_Title = this.lblTitel.Text;
        ft.FT_NeiRong=this.lblContent.Text;
        ft.FT_Datetime = this.lblTime.Text;
        FatieManager ftm = new FatieManager();
        ftm.ModifyFatie(ft);
    }
id过不来是怎么回事

解决方案 »

  1.   

    MemberManager mm = new MemberManager();
      Member M = new Member();
      Fatie ft = fm.GetFatieByFT_Id(M.Mid);
      M = mm.GetMemberByMid(id);
      Response.Redirect("FtUpdate.aspx?id="+ft.FT_Id);
    Member M = new Member();
      Fatie ft = fm.GetFatieByFT_Id(M.Mid);你 M.Mid有值么  
      

  2.   


    //改接收这样
      int id = Convert.ToInt32(Request.QueryString["id"]);
    //或者改查看页面地址传递
    Response.Redirect("FtUpdate.aspx?FT_Id="+ft.FT_Id);//id改为FT_id
    //Request.QueryString["名称"]接收的 名称要和地址栏一致
      

  3.   

     Response.Redirect("FtUpdate.aspx?id="+ft.FT_Id);
    ===========
    你确定你这一句取到值了?
      

  4.   

    你的DataList的DataKeyNames属性设置了没?》
      

  5.   

    Response.Redirect("FtUpdate.aspx?xxx="+ft.FT_Id);Request.QueryString["xxx"]
    两个名称要一致  
      

  6.   

    ("FtUpdate.aspx?id="+ft.FT_Id);int id = Convert.ToInt32(Request.QueryString["FT_Id"]);
    变量名都不一样  能取到值吗???  两个变量名你搞混了   
    下次细心一点啊
    另外编辑页面
    protected void Page_Load(object sender, EventArgs e)
      {
    if(!Page.IsPostback())
    {
      bind();
    }

      }没有postback  你即使编辑  也获取不了新值
      

  7.   

    if(!IsPostBack)bind();
    跟踪Response.Redirect("FtUpdate.aspx?id="+ft.FT_Id值
    public string id
    {
    get{return viewstate["id"].ToString();}
    set{viewstate["id"]=value;}
    }
      

  8.   

      int id = Convert.ToInt32(Request.QueryString["FT_Id"]);
    =========
      int id = Convert.ToInt32(Request.QueryString["id"]);
      

  9.   

    <div style="width:800px; float:left; margin:0px auto;border:solid 1px black;"><div style="width:10%; margin:0px auto; float:left;">编号 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp;
        &nbsp;
    </div><div style="width:10%; margin:0px auto; float:left;">姓名</div>
            <div style="width:50%; margin:0px auto; float:left; ">标题</div><div style="width:15%; margin:0px auto; float:left;">发贴时间</div><div style="width:14%; margin:0px auto; float:left;">编辑</div></div>
        <asp:DataList ID="DataList1" runat="server" DataSourceID="GetAllFatieByConditionObjectDataSource" OnEditCommand="DataList1_EditCommand1">
            <ItemTemplate>
            <div style="width:800px; float:left; margin:0px auto; border:solid 1px black;"><div style="width:10%; margin:0px auto; float:left;"><asp:Label ID="lblid" runat="server" Text='<%# Eval("FT_Id") %>'></asp:Label></div><div style="width:10%; margin:0px auto; float:left;"><asp:Label ID="Label1" runat="server" Text='<%# Eval("M.MemberName") %>'></asp:Label></div>
            <div style="width:50%; margin:0px auto; float:left;"><asp:Label ID="Label2" runat="server" Text='<%# Eval("FT_Title") %>'></asp:Label></div><div style="width:15%; margin:0px auto; float:left;"><asp:Label ID="Label3" runat="server" Text='<%# Eval("FT_Datetime") %>'></asp:Label></div><div style="width:15%; margin:0px auto; float:left;"><asp:LinkButton ID="Label4" runat="server" Text='编辑' CommandArgument="m" CommandName="FT_Id" PostBackUrl='~/Admin/FtUpdate.aspx?id=<%# Eval("FT_Id") %>'></asp:LinkButton></div></div>
               
            </ItemTemplate>
        </asp:DataList><asp:ObjectDataSource ID="GetAllFatieByConditionObjectDataSource"
            runat="server" SelectMethod="GetSumFatieByMid" TypeName="zlm.BLL.FatieManager" UpdateMethod="AddFatie" DataObjectTypeName="zlm.Model.Fatie">
            <SelectParameters>
                <asp:QueryStringParameter Name="MemberName" QueryStringField="mname" Type="String" />
                <asp:QueryStringParameter DefaultValue="" Name="dt" QueryStringField="dt" Type="String" />
            </SelectParameters>
        </asp:ObjectDataSource>
    查看的页面代码
      

  10.   

    楼上的各位仁兄,请问:用Request.QueryString来接值的话,出了Page_Load事件,还能接到值吗?
      

  11.   

    Response.Redirect("FtUpdate.aspx?id="+ft.FT_Id);
     int id = Convert.ToInt32(Request.QueryString["FT_Id"]);
    不一致了  把 int id = Convert.ToInt32(Request.QueryString["id"]);
      

  12.   


    if (!ispostback)
    {
       bind();
    }
    楼主要将绑定代码区块放到!ispostback区域中即可
      

  13.   

     int id = Convert.ToInt32(Request.QueryString["FT_Id"]);
     if (ViewState["FT_Id"] != null && !(ViewState["FT_Id"].ToString().Equals("")))
    这两行那个空?
    如果是第一个就是上个页面没有传过来,
    如果第二个有可能是你根本就没有给ViewState里边存值