我是 LINQ 的新手。我有一个使用 LINQ 填充的 GridView。我的 LINQ 语句从上一页获取查询字符串。查询字符串采用字符串格式。这是代码:

 protected void Page_Load(object sender, EventArgs e)
    {
        string getEntity = Request.QueryString["EntityID"];
        int getIntEntity = Int32.Parse(getEntity);
        OISLinqtoSQLDataContext db = new OISLinqtoSQLDataContext();
        var tr = from r in db.Users
                 join s in db.Entities on r.UserID equals s.ID
                 where s.ID = Request.QueryString["EntityID"]
                 select new
                 {
                     //To Show Items in GridView!
                 };

        GridView1.DataSource = tr;
        GridView1.DataBind();

    }

s.ID 不等于 QueryString。 S.ID 是 int 类型,QS 是字符串类型。我应该如何将此 QS 转换为整数?谢谢!

最佳答案

确保您使用 == 而不是 = 并使用“getEntity”变量的 int 版本。

protected void Page_Load(object sender, EventArgs e)
{
    string getEntity = Request.QueryString["EntityID"];
    int getIntEntity = Int32.Parse(getEntity);
    OISLinqtoSQLDataContext db = new OISLinqtoSQLDataContext();
    var tr = from r in db.Users
             join s in db.Entities on r.UserID equals s.ID
             where s.ID == getIntEntity
             select new
             {
                 //To Show Items in GridView!
             };

    GridView1.DataSource = tr;
    GridView1.DataBind();

}

关于c# - 加入在 LINQ 语句中不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5407865/

10-17 01:21