System.InvalidCastException:指定的强制转换无效 C#
本文关键字:转换 无效 InvalidCastException System | 更新日期: 2023-09-27 17:55:26
你能帮忙解决这个错误吗?我按照教程为我的项目制作了一个论坛,但是我遇到了上述错误。感谢您的任何建议。错误行:
Int64 Forum_Id = (Int64)GridView1.SelectedValue;
我的代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class Forum : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
string course_Id = DropDownList1.Text;
int ccourse_Id = Convert.ToInt32(course_Id);
string question = TextBox1.Text;
string posterName = TextBox2.Text;
DateTime blog_date = DateTime.Now;
PostForum.INSERTforum(ccourse_Id, question, posterName, blog_date);
GridView1.DataBind();
}
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
Int64 Forum_Id = (Int64)GridView1.SelectedValue;
Session["forum_Id"] = Forum_Id;
Response.Redirect("Thread.aspx");
}
protected void Button2_Click(object sender, EventArgs e)
{
}
}
在我的数据库中,我有一个名为论坛的表,其中包含整数而不是空的forum_id
试试这个:
Int64 Forum_Id = Convert.ToInt64(GridView1.SelectedValue.ToString());
SelectedValue 可能不是 Int64。尝试分析以获取数值。
Int64 Forum_Id;
Int64.TryParse( GridView1.SelectedValue.ToString(), out Forum_Id);
如果确定所选值仅包含数字字符,则可以使用以下行。
Int64value = Int64.Parse(GridView1.SelectedValue.ToString());
否则,它将引发异常。