无法将参数值从String转换为Guid c#aspx

时间:2017-05-04 13:54:38

标签: c# asp.net guid

我试图获取当前页面的当前GUID并将值保存到SQL中。页面加载时,它会在标签中加载GUID。所以我想从标签中取出GUID并放入sql但是它给了我错误:无法将参数值从String转换为Guid。这是我的代码:

   protected void btnAddOGCoverageTeamMembers_Click(object sender, EventArgs e)
    {
        try
        {

            string AccountGUID = base.Request["account"]; 
            guidget.Text = AccountGUID.ToString();

            Hashtable htAMTeam = new Hashtable();
            htAMTeam["GUID"] = guidget.Text; 
            htAMTeam["UserID"] = Convert.ToInt32(Person.SelectedValue);
            htAMTeam["Location"] = Location.SelectedValue;
            htAMTeam["Product"] = Product.Text;
            obj.addTeam(htAMTeam);

        }

        catch (Exception ex)
        {
            lblMsg.Text = ex.Message;
        }

    }

这是页面背后的代码:.cs page

public void addTeam(Hashtable htAMTeam)
{
    SqlParameter[] OGTeamparam = new SqlParameter[4];
    OGTeamparam[0] = new SqlParameter("@AccountGUID", SqlDbType.UniqueIdentifier);
    OGTeamparam[1] = new SqlParameter("@UserID", SqlDbType.Int);
    OGTeamparam[2] = new SqlParameter("@Location", SqlDbType.VarChar, 50);
    OGTeamparam[3] = new SqlParameter("@Product", SqlDbType.VarChar, 50);


    OGTeamparam[0].Value = htAMTeam["AccountGUID"];
    OGTeamparam[1].Value = htAMTeam["UserID"].ToString();
    OGTeamparam[2].Value = htAMTeam["Location"].ToString();
    OGTeamparam[3].Value = htAMTeam["Product"].ToString();
    SqlHelper.ExecuteNonQuery(OGconnection, CommandType.StoredProcedure, "InsertAccountOGTeam", OGTeamparam);
}

2 个答案:

答案 0 :(得分:4)

相反

OGTeamparam[0].Value = htAMTeam["AccountGUID"];

使用

OGTeamparam[0].Value = new Guid((string)htAMTeam["AccountGUID"]);

答案 1 :(得分:2)

我已经开始工作,这就是诀窍:

   OGTeamparam[0].Value = new Guid(Convert.ToString(htAMTeam["AccountGUID"]));