repeater里面绑定了<ItemTemplate>
                <tr>
                    <td>
                        <%#Eval("ShipperID") %>
                    </td>
                    <td>
                        <asp:HyperLink ID="Hl_CompanyName" Text='<%#Eval("CompanyName") %>' NavigateUrl='<%#String.Format("Update.aspx?ShipperID={0}",Eval("ShipperID")) %>' runat="server"></asp:HyperLink>
                    </td>
                    <td>
                        <%#Eval("Phone") %>
                    </td>
                    <td>
                        <asp:LinkButton ID="Lb_Delete" runat="server" OnClientClick="return confirm('确认删除?')" CommandName="Delete" CommandArgument='<%#Eval("ShipperID") %>'>删除</asp:LinkButton>
                    </td>
                </tr>
            </ItemTemplate>
然后在另一个页面里根据Request["ShipperID"]查找那条记录
using (SqlConnection conn = new SqlConnection())
        {
            conn.ConnectionString = ConfigurationManager.ConnectionStrings["ShippersConnections"].ConnectionString;
            SqlCommand cmd = new SqlCommand();
            cmd.Connection = conn;
            cmd.CommandText = "select * from Shippers where ShipperID = @shipperid";
            cmd.Parameters.AddWithValue("@shipperid", Convert.ToInt32(Request["ShipperID"]));
            conn.Open();
            object result = cmd.ExecuteScalar();
            if (result != null)
            { 
                txt_CompanyName.Text = 
            }
        }
怎么赋值给txt_CompanyName?

解决方案 »

  1.   

    result 强制转换一下 赋值给你的textbox值?
      

  2.   

    在另一个页面里
    另一个页面根据Request["ShipperID"]找到那条数据
    然后把那条数据里的字段一个个赋值
    其中一个赋值给txt_CompanyName
      

  3.   

    result点出来后只有四个东东result.Equals; result.GetHashCode;result.GetType;result.ToString
      

  4.   

    就是有两个页面Default.aspx,和update.aspx
    在Default.aspx里面我绑定了Repeater
    <asp:Repeater ID="Repeater1" runat="server" 
                onitemcommand="Repeater1_ItemCommand">
                <HeaderTemplate>
                <table>
                    <tr>
                        <td>
                            ShipperID
                        </td>
                        <td>
                            CompanyName
                        </td>
                        <td>
                            Phone
                        </td>
                        <td>
                            操作
                        </td>
                    </tr>
                </HeaderTemplate>
                <ItemTemplate>
                    <tr>
                        <td>
                            <%#Eval("ShipperID") %>
                        </td>
                        <td>
                            <asp:HyperLink ID="Hl_CompanyName" Text='<%#Eval("CompanyName") %>' NavigateUrl='<%#String.Format("Update.aspx?ShipperID={0}",Eval("ShipperID")) %>' runat="server"></asp:HyperLink>
                        </td>
                        <td>
                            <%#Eval("Phone") %>
                        </td>
                        <td>
                            <asp:LinkButton ID="Lb_Delete" runat="server" OnClientClick="return confirm('确认删除?')" CommandName="Delete" CommandArgument='<%#Eval("ShipperID") %>'>删除</asp:LinkButton>
                        </td>
                    </tr>
                </ItemTemplate>
                <FooterTemplate>
                    </table>
                 </FooterTemplate>
            </asp:Repeater>
    然后点HyperLink 不是会跳到Update.aspx页面嘛
    然后根据Request["ShipperID"]取得那条记录的ID
    在根据ID找到那条记录
    然后现在就是要把那条记录一个个赋值到textbox里
      

  5.   

    刚才测试了下result取得的值是那些的ID
    那怎么赋值给textbox呢?
    不是id赋值给textbox
    是把找到的那条记录里的其他字段赋值给textbox
      

  6.   

    你的题目太长了,貌似和标题不符。
    我的理解是
    select * from Shippers where ShipperID = @shipperid
    这样你不是已经找到这条记录了嘛。
    textbox里赋值,那就用datareader或datatable遍历就好了
      

  7.   

    对哦,这应该是从Repeater控件中跳转到另一页后,在该如何通过Request对象得到的ID,查找记录后将值一个一个赋到相应的控件中的问题.而不是Repeater的问题.呵呵 .
      

  8.   

    额你太懒啦  O(∩_∩)O~
    for(int i=0;i<dt.rows.count;i++)
    {
      str=dt.rows[i]["字段名"].tostring()
    }