Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法将类型为“ASP.Catalog\U aspx”的对象强制转换为类型为“System.Web.UI.WebControl.LinkButton”_C#_Asp.net_Sql - Fatal编程技术网

C# 无法将类型为“ASP.Catalog\U aspx”的对象强制转换为类型为“System.Web.UI.WebControl.LinkButton”

C# 无法将类型为“ASP.Catalog\U aspx”的对象强制转换为类型为“System.Web.UI.WebControl.LinkButton”,c#,asp.net,sql,C#,Asp.net,Sql,我正在从数据库中检索我的toyName,并希望将其会话到下一页。我的会话没有任何错误,但我有如下错误,我不确定哪里出了错。在我的.aspx页面中有2个链接按钮,而这个出现错误的链接按钮是我创建的第二个链接按钮 错误消息: Unable to cast object of type 'ASP.Catalogue_aspx' to type 'System.Web.UI.WebControls.LinkButton'. 源错误: Line 13: protected void Page_L

我正在从数据库中检索我的toyName,并希望将其会话到下一页。我的会话没有任何错误,但我有如下错误,我不确定哪里出了错。在我的.aspx页面中有2个链接按钮,而这个出现错误的链接按钮是我创建的第二个链接按钮

错误消息:

Unable to cast object of type 'ASP.Catalogue_aspx' to type 'System.Web.UI.WebControls.LinkButton'.
源错误:

Line 13:     protected void Page_Load(object sender, EventArgs e)
Line 14:     {
Line 15:         LinkButton LinkButton = (LinkButton)sender;
Line 16:         int toyID = Convert.ToInt32(LinkButton.CommandName);
Line 17: 
这是我的页面加载.cs代码:

protected void Page_Load(object sender, EventArgs e)
{
    LinkButton LinkButton = (LinkButton)sender;
    int toyID = Convert.ToInt32(LinkButton.CommandName);


    string strConnectionStr = ConfigurationManager.ConnectionStrings["ASPNETConnectionString"].ConnectionString;
    string sql = "SELECT toyID, toyName FROM Toys WHERE toyID=@toyID";


    SqlConnection myConnect = new SqlConnection(strConnectionStr);
    myConnect.Open();
    SqlCommand command = new SqlCommand(sql, myConnect);
    command.Parameters.AddWithValue("@toyID", toyID);


    SqlDataReader dr = command.ExecuteReader();

    while (dr.Read())
    {
        Label1.Text = dr["toyName"].ToString();
    }

    dr.Close();
    myConnect.Close();
}

那是完全错误的


页面加载的发件人是页面,而不是链接按钮。

您不能将页面强制转换为链接按钮。。那是行不通的。 当您在页面加载中强制转换发件人时,从技术上讲,您是在强制转换页面

如果要使用会话,则需要将

session["something"]= what ever you are trying to save
然后去取回它

var myVariable = session["something"] (maybe cast this as something)

除此之外,我不确定您想做什么

,但每次用户加载页面时,我都会尝试检索toyName。我有2个页面。首先,我试图从数据库中检索我的toyName,并将该值存储为会话变量,然后将其传递到我的第二个页面。我想使用这个方法,因为我的数据库中有很多toyNames。这两个页面的功能是,当用户第一次看到第一个页面时,可以选择他们想要的玩具。当他们进入第二个页面时,他们从第一个页面中选择的唯一toyName将被传递到第二个页面以进行支付。