无法将类型“字符串”隐式转换为“短”

Pet*_*ter -3 c#

protected void btnAdd_Click(object sender, EventArgs e)
{
    if (!string.IsNullOrWhiteSpace(Request.QueryString["id"]))
    {       
        string kundeID = "-1";
        int id = Convert.ToInt32(Request.QueryString["id"]);
        int totalsum = Convert.ToInt32(ddlAmount.SelectedValue);

        Handlevogn handlevogn = new Handlevogn
        {
            TotalSum = totalsum,
            KundeID = kundeID,
            Dato = DateTime.Now,
            ErIHandlevogn = true,
            ProduktID = id
        };

        HandlevognModell modell = new HandlevognModell();
        lblResult.Text = modell.InsertHandlevogn(handlevogn);
    } 
Run Code Online (Sandbox Code Playgroud)

不断收到错误

无法将 typre 'string' 隐式转换为 'short'

对于局部变量 kundeID。

Ian*_*Ian 5

最简单的解决方案是将您更改kundelIDshort

short kundelID = -1;
Run Code Online (Sandbox Code Playgroud)

然后是您之前在此处进行的隐式转换:

KundelID = kundelID; //this is called implicit because you implicitly tell kundelID, which is a short to be changed to KundelID, which is likely a short
Run Code Online (Sandbox Code Playgroud)

将是相同的类型short

或者,如果您出于任何原因需要kundelID成为 a string,请KundelID在使用之前将其正确转换为。

KundelID = Convert.ToInt16(kundelID);
Run Code Online (Sandbox Code Playgroud)

那么,它也将是正确的。