2016-02-19 68 views
-2
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); 
    } 

不斷收到錯誤無法隱式轉換類型「字符串」到「短」

無法隱式轉換typre「字符串」到「短」

本地變量kundeID。

回答

0

該警告相當詳細。你應該將kundeID解析爲short(或者將KundeID改爲string)。

KundeID = short.Parse(kundeID); 
3

最簡單的辦法是改變你以前在這裏做你的kundelIDshort

short kundelID = -1; 

那麼你的隱式轉換:

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 

將同類型short的。

如果您需要kundelID作爲string出於某種原因,請在使用前將其正確地轉換爲KundelID

KundelID = Convert.ToInt16(kundelID); 

然後,它也是正確的。

0

您可以使用函數:

Int16.TryParse(string value, out number); 

誰將會返回一個布爾值,真要是如果不是函數可以施放它和虛假。

你可以使用它的一個如果:

short id; 
if(Int16.TryParse(Request.QueryString["id"], out id)) 
{ 
    ProduktID = id; 
} 
相關問題