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' string'到'短'
表示局部变量kundeID。
答案 0 :(得分:4)
最简单的解决方案是将kundelID
更改为short
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);
然后,它也是正确的。
答案 1 :(得分:0)
警告非常详细。您应该将kundeID解析为short(或将KundeID更改为字符串)。
KundeID = short.Parse(kundeID);
答案 2 :(得分:0)
您可以使用以下功能:
Int16.TryParse(string value, out number);
谁将返回一个布尔值,如果函数可以转换它,则返回true;否则返回false。
您可以在if:
中使用它short id;
if(Int16.TryParse(Request.QueryString["id"], out id))
{
ProduktID = id;
}
答案 3 :(得分:0)
您可以使用
short kundeID = -1;
答案 4 :(得分:-1)
如果输出是对象隐蔽的,则可能看起来像这样
short var_short = short.Parse(Convert.ToString(reader["something"]));