public string sxh;
public string cpmc;
public string wtdw;
public string rq;
public string ph;
public string cpgg;
public string gx;
public string pz;
public string sh;
public string[] hf;
public string[] zmd;
public string[] tjmd;
public string[] qkl;
public string[] kyqd;
public string[] dzl;
public string[] bz;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
if (Request.QueryString["sxh"] != null)
{
Bind();
}
if (SessionBox.GetUserSession().Group == "报告审核")
{
auditdiv.Visible = true;
}
}
}
protected void Bind()
{
...
int i = ds.Tables[0].Rows.Count;
if (i > 8)
{
hf = new string[i];
zmd = new string[i];
tjmd = new string[i];
qkl = new string[i];
kyqd = new string[i];
dzl = new string[i];
bz = new string[i];
pagediv.Visible = true;
}
else
{
hf = new string[8];
zmd = new string[8];
tjmd = new string[8];
qkl = new string[8];
kyqd = new string[8];
dzl = new string[8];
bz = new string[8];
pagediv.Visible = false;
}
}protected void LinkButton5_Click(object sender, EventArgs e)
{
if (BLL.ReportsBll.ShimohuaHasPassed(SessionBox.GetUserSession().Rank, SessionBox.GetUserSession().UserNumber, Request.QueryString["sxh"].ToString()) > 0)
{
JScript.Alert("审核通过。");
Response.Redirect("~/main/smhreport.aspx?sxh=" + Request.QueryString["sxh"].ToString());
}
}红色这行,如果不加,就会提示错误。System.NullReferenceException: 未将对象引用设置到对象的实例
<tr>
<td valign="middle">
1</td>
<td valign="middle"><%=hf[0] %>
</td>
<td valign="middle"><%=zmd[0] %>
</td>
<td valign="middle"><%=tjmd[0] %>
</td>
<td valign="middle"><%=qkl[0] %>
</td>
<td valign="middle"><%=kyqd[0] %>
</td>
<td valign="middle"><%=dzl[0] %>
</td>
<td valign="middle"><%=bz[0] %>
</td>
</tr>
应该就是hf没有实例化吧?请问如何解决啊?重定向页面那行的话,弹出对话框就失效了。
public string cpmc;
public string wtdw;
public string rq;
public string ph;
public string cpgg;
public string gx;
public string pz;
public string sh;
public string[] hf;
public string[] zmd;
public string[] tjmd;
public string[] qkl;
public string[] kyqd;
public string[] dzl;
public string[] bz;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
if (Request.QueryString["sxh"] != null)
{
Bind();
}
if (SessionBox.GetUserSession().Group == "报告审核")
{
auditdiv.Visible = true;
}
}
}
protected void Bind()
{
...
int i = ds.Tables[0].Rows.Count;
if (i > 8)
{
hf = new string[i];
zmd = new string[i];
tjmd = new string[i];
qkl = new string[i];
kyqd = new string[i];
dzl = new string[i];
bz = new string[i];
pagediv.Visible = true;
}
else
{
hf = new string[8];
zmd = new string[8];
tjmd = new string[8];
qkl = new string[8];
kyqd = new string[8];
dzl = new string[8];
bz = new string[8];
pagediv.Visible = false;
}
}protected void LinkButton5_Click(object sender, EventArgs e)
{
if (BLL.ReportsBll.ShimohuaHasPassed(SessionBox.GetUserSession().Rank, SessionBox.GetUserSession().UserNumber, Request.QueryString["sxh"].ToString()) > 0)
{
JScript.Alert("审核通过。");
Response.Redirect("~/main/smhreport.aspx?sxh=" + Request.QueryString["sxh"].ToString());
}
}红色这行,如果不加,就会提示错误。System.NullReferenceException: 未将对象引用设置到对象的实例
<tr>
<td valign="middle">
1</td>
<td valign="middle"><%=hf[0] %>
</td>
<td valign="middle"><%=zmd[0] %>
</td>
<td valign="middle"><%=tjmd[0] %>
</td>
<td valign="middle"><%=qkl[0] %>
</td>
<td valign="middle"><%=kyqd[0] %>
</td>
<td valign="middle"><%=dzl[0] %>
</td>
<td valign="middle"><%=bz[0] %>
</td>
</tr>
应该就是hf没有实例化吧?请问如何解决啊?重定向页面那行的话,弹出对话框就失效了。
解决方案 »
- 求解如何把asp.net网页转换为静态的htm???
- 请教一个关于XML读写的问题?
- 【急】使用like模糊查询的问题。谢谢。【一直F5刷新在线等】
- 点击最高的10行绑定到DataGrid,怎么在每行前面显示1,2,3...10?
- 如何在TextBox中屏蔽HTML代码
- 不知道对于页面访问的控制MS有没有API
- 知道图片文件的存放位置(网上邻居的目录: file://computer-1/picture/btn_bak02.jpg),通过程序如何读取图片信息.
- 更改了数据库端口号,如何写连接字符串
- 用javascript来filter gridview
- 【急】foreach给页面List控件赋值,怎么使它的值不覆盖别的List控件
- petshop 4.0
- 解决方案下的两个项目如何引用一个类库?
{
page.ClientScript.RegisterStartupScript(page.GetType(), "M" + DateTime.Now.Ticks.ToString(), "<script>alert('" + Msg + "');location.href='" + strUrl + "'</script>");
}
重定向页面那行的话,弹出对话框就失效了。
試試這樣的: Response.Write(" <SCRIPT>alert('审核通过。') <SCRIPT/>;location.href='~/main/smhreport.aspx?sxh=" + Request.QueryString["sxh"].ToString()'");
红色这行,如果不加,就会提示错误。System.NullReferenceException: 未将对象引用设置到对象的实例
因爲: Request.QueryString["sxh"]沒有獲取值
<td valign="middle"> <%=hf[0] %>
这种都换成label,在后台赋值.
多谢,但是不用redirect ,地址栏的地址也是有sxh=0的?
可以用js 实现跳转
ClientScript.RegisterStartupScript(GetType(), "jsGo", " <script>alert('" + Msg + "');location.href='/main/smhreport.aspx?sxh=" + Request.QueryString["sxh"].ToString()+ "'; </script>");
是因为
if (!IsPostBack)
{
if (Request.QueryString["sxh"] != null)
{
Bind();
}
if (SessionBox.GetUserSession().Group == "报告审核")
{
auditdiv.Visible = true;
}
}
你在第一次加载的时候进行了判断,如果get方式 没有sxh 这个参数,就不运行Bind 这个方法了,所以
protected void Bind()
{
...
int i = ds.Tables[0].Rows.Count;
if (i > 8)
{
hf = new string[i];
zmd = new string[i];
tjmd = new string[i];
qkl = new string[i];
kyqd = new string[i];
dzl = new string[i];
bz = new string[i];
pagediv.Visible = true;
}
else
{
hf = new string[8];
zmd = new string[8];
tjmd = new string[8];
qkl = new string[8];
kyqd = new string[8];
dzl = new string[8];
bz = new string[8];
pagediv.Visible = false;
}
}
hf 这个数组就没有进行初始化
这样:
JScript.Alert("审核通过。");
Bind();这个思路本身就错的.这么写和ASP就没区别了.
那请问下,应该怎么做呢?这里我需要把数据放在一个table 中显示,