紧急解决

shankangli0909 2008-07-08 02:28:29
int id = int.Parse(GridView1.SelectedValue.ToString());
为什么会出现空异常??


帮忙解决一下,谢谢
...全文
106 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
shankangli0909 2008-07-08
  • 打赏
  • 举报
回复
呵呵,谢了
已经解决了
love.李 2008-07-08
  • 打赏
  • 举报
回复
我找了半天也没看你的Gridview数据绑定写在哪里了
love.李 2008-07-08
  • 打赏
  • 举报
回复
差点忘了,回来看一下~~
你把绑定GridView数据写在,
page_load
的if(!IsPostBack){}
试试看
shankangli0909 2008-07-08
  • 打赏
  • 举报
回复
不对,我试过了
  • 打赏
  • 举报
回复
sid = int.Parse(this.GridView1.DataKeys[e.NewSelectedIndex]["id"].ToString());
shankangli0909 2008-07-08
  • 打赏
  • 举报
回复
怎么样???
shankangli0909 2008-07-08
  • 打赏
  • 举报
回复
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;

public partial class Admin_asd : System.Web.UI.Page
{
int id = 0;

protected void Page_Load(object sender, EventArgs e)
{

}
protected void LinkButton1_Click(object sender, EventArgs e)
{
this.Panel1.Visible = true;
id = int.Parse(GridView1.SelectedIndex.ToString())+1;
SqlDataReader dr = selectUpdate(id);
if(dr.Read())
{
TextBox1.Text = dr["NewTitle"].ToString();
}
dr.Dispose();
}
public SqlDataReader selectUpdate(int id)
{
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);
SqlCommand cmd = new SqlCommand("select * from News where NewId="+id,conn);

try
{
if (conn.State.ToString() == "Closed")
conn.Open();

SqlDataReader dr = cmd.ExecuteReader();
return dr;
}
catch(Exception ex)
{
throw new Exception(ex.Message,ex);
}
}
protected void Button1_Click(object sender, EventArgs e)
{
string title = TextBox1.Text.Trim();
string author = TextBox2.Text.Trim();
string from = TextBox3.Text.Trim();
string jianjie = TextBox5.Text.Trim();
//id = int.Parse(GridView1.DataKeys[GridView1.SelectedIndex].Value.ToString());
bool flag = UpdateNews(title,author,from,jianjie,id);
if (flag == true)
{
Response.Write("<script>alert('修改成功!');history.go(-1);</script>");
this.Panel1.Visible = false;
}
else
{
Response.Write("<script>alert('未修改成功!');history.go(-1);</script>");
}

}
public bool UpdateNews(string title,string author,string from,string jianjie,int id)
{
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);
SqlCommand cmd = new SqlCommand("update News set NewTitle='"+title+"',NewAuthor='"+author+"',NewFrom='"+from+"',NewJianJie='"+jianjie+"' where NewId="+id, conn);

try
{
if(conn.State.ToString()=="Closed")
conn.Open();

int i=cmd.ExecuteNonQuery();
if(i>0)
return true;
else
return false;
}
catch(Exception ex)
{
throw new Exception(ex.Message,ex);
}
finally
{
if(conn.State.ToString()=="Open")
conn.Close();
}
}

protected void GridView1_SelectedIndexChanging(object sender, GridViewSelectEventArgs e)
{
id = int.Parse(this.GridView1.DataKeys[e.NewSelectedIndex]["NewId"].ToString());
Response.Write(id);
}
}
love.李 2008-07-08
  • 打赏
  • 举报
回复
把整个方法的代码贴出来,立马解决
love.李 2008-07-08
  • 打赏
  • 举报
回复
SelectedValue,Gridview有没有这个啊.关键你要说说怎么什么情况下取值嘛
sid = int.Parse(this.GridView1.DataKeys[GridvView1.SelectIndex]["id"].ToString());
这样总行吧.要举一反三!
shankangli0909 2008-07-08
  • 打赏
  • 举报
回复
用的控件绑定的
shankangli0909 2008-07-08
  • 打赏
  • 举报
回复
不行,不在那个事件中,又怎么写???
weinaxxc 2008-07-08
  • 打赏
  • 举报
回复
这个要看你的ID是怎样存在在你的GREDVIEW里面了!
shankangli0909 2008-07-08
  • 打赏
  • 举报
回复
那如何获取??
谢了
love.李 2008-07-08
  • 打赏
  • 举报
回复
GridView1.SelectedValue.ToString()
这句估计只能扑到空气
首先你在属性里设置:dataKeyNames为id(把ID绑定)
sid = int.Parse(this.GridView1.DataKeys[e.NewSelectedIndex]["id"].ToString());
注意:我这是写在 GridView1_SelectedIndexChanging(...)里的,给你参考一下
weinaxxc 2008-07-08
  • 打赏
  • 举报
回复
这也能获取的到?你以为是DROPDOWNLIST啊
shankangli0909 2008-07-08
  • 打赏
  • 举报
回复
获取GridView 中id字段的值
  • 打赏
  • 举报
回复
GridView1.SelectedValue.ToString()
这个你是要获取啥值里?能获取到吗?!
不能吧?所以为空了!

61,819

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧