-)DataGrid代码
<asp:DataGrid id="dgmyproject" runat="server" Width="100%" AutoGenerateColumns="False" >
<AlternatingItemStyle CssClass="gridalteritem" BackColor="#CD9BFF"></AlternatingItemStyle>
<ItemStyle CssClass="griditem" BackColor="#EEEEEE"></ItemStyle>
<HeaderStyle CssClass="headcenter" BackColor="#C389EE"></HeaderStyle>
<Columns>
<asp:BoundColumn DataField="pkid" HeaderText="ID序号"></asp:BoundColumn>
<asp:BoundColumn DataField="clientname" ReadOnly="True" HeaderText="客户名称"></asp:BoundColumn>
<asp:BoundColumn DataField="qiantime" HeaderText="签定时间"></asp:BoundColumn>
<asp:BoundColumn DataField="servicepermonth" HeaderText="次/月"></asp:BoundColumn>
<asp:TemplateColumn HeaderText="初始化">
<ItemTemplate>
<a href='viewcs.aspx?khid=<%#DataBinder.Eval(Container.DataItem,"pkid")%>' title="查看初始化"><IMG src='../images/<%#DataBinder.Eval(Container.DataItem,"csimg")%>'border=0></a> <A onclick="javascript:window.open('addcshi.aspx?khid=<%#DataBinder.Eval(Container.DataItem,"pkid")%>',null, 'height=250, width=450')" href="#">
设置</A>
</ItemTemplate>
</asp:TemplateColumn>
<asp:BoundColumn DataField="nextday" ReadOnly="True" HeaderText="下一巡检日" DataFormatString={0:d}></asp:BoundColumn>
<asp:TemplateColumn HeaderText="当期月巡检">
<ItemTemplate>
<img src='../images/<%#GetprojectsByID(DataBinder.Eval(Container.DataItem,"pkid").ToString())%>'>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="月巡检设置">
<ItemTemplate>
<A onclick="javascript:window.open('setmonthsp.aspx?khid=<%#DataBinder.Eval(Container.DataItem,"pkid")%>',null, 'height=250, width=450')" href="#">
添加月巡检</A>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
二)后台方法
public String GetprojectsByID(string strmyID)
{
cn=new SqlConnection(ConfigurationSettings.AppSettings["DSN"]);
SqlCommand cm= new SqlCommand("getproject",cn);
cm.CommandType=CommandType.StoredProcedure; SqlParameter paraID= new SqlParameter("@Newkhid",SqlDbType.Int,4);
paraID.Value=Convert.ToInt16(strmyID); cm.Parameters.Add(paraID);
cn.Open();
mystring=(cm.ExecuteScalar()).ToString();
cn.Close();
return mystring;
}
三)错误提示
未将对象引用设置到对象的实例。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。源错误:
行 41: <ItemTemplate>
行 42:
行 43: <img src='../images/<%#GetprojectsByID(DataBinder.Eval(Container.DataItem,"pkid").ToString())%>'>
行 44:
行 45: </ItemTemplate>
四)我将上面代码中
<img src='../images/<%#GetprojectsByID(DataBinder.Eval(Container.DataItem,"pkid").ToString())%>'> 改成为 <img src='../images/<%#GetprojectsByID(8.ToString())%>'> 即可正常显示. 提示:
8是取得的具体pkID,(pkid是肯定可以取到的,因为我将GetprojectsByID方法去掉,其pkid可正常显示)
<asp:DataGrid id="dgmyproject" runat="server" Width="100%" AutoGenerateColumns="False" >
<AlternatingItemStyle CssClass="gridalteritem" BackColor="#CD9BFF"></AlternatingItemStyle>
<ItemStyle CssClass="griditem" BackColor="#EEEEEE"></ItemStyle>
<HeaderStyle CssClass="headcenter" BackColor="#C389EE"></HeaderStyle>
<Columns>
<asp:BoundColumn DataField="pkid" HeaderText="ID序号"></asp:BoundColumn>
<asp:BoundColumn DataField="clientname" ReadOnly="True" HeaderText="客户名称"></asp:BoundColumn>
<asp:BoundColumn DataField="qiantime" HeaderText="签定时间"></asp:BoundColumn>
<asp:BoundColumn DataField="servicepermonth" HeaderText="次/月"></asp:BoundColumn>
<asp:TemplateColumn HeaderText="初始化">
<ItemTemplate>
<a href='viewcs.aspx?khid=<%#DataBinder.Eval(Container.DataItem,"pkid")%>' title="查看初始化"><IMG src='../images/<%#DataBinder.Eval(Container.DataItem,"csimg")%>'border=0></a> <A onclick="javascript:window.open('addcshi.aspx?khid=<%#DataBinder.Eval(Container.DataItem,"pkid")%>',null, 'height=250, width=450')" href="#">
设置</A>
</ItemTemplate>
</asp:TemplateColumn>
<asp:BoundColumn DataField="nextday" ReadOnly="True" HeaderText="下一巡检日" DataFormatString={0:d}></asp:BoundColumn>
<asp:TemplateColumn HeaderText="当期月巡检">
<ItemTemplate>
<img src='../images/<%#GetprojectsByID(DataBinder.Eval(Container.DataItem,"pkid").ToString())%>'>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="月巡检设置">
<ItemTemplate>
<A onclick="javascript:window.open('setmonthsp.aspx?khid=<%#DataBinder.Eval(Container.DataItem,"pkid")%>',null, 'height=250, width=450')" href="#">
添加月巡检</A>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
二)后台方法
public String GetprojectsByID(string strmyID)
{
cn=new SqlConnection(ConfigurationSettings.AppSettings["DSN"]);
SqlCommand cm= new SqlCommand("getproject",cn);
cm.CommandType=CommandType.StoredProcedure; SqlParameter paraID= new SqlParameter("@Newkhid",SqlDbType.Int,4);
paraID.Value=Convert.ToInt16(strmyID); cm.Parameters.Add(paraID);
cn.Open();
mystring=(cm.ExecuteScalar()).ToString();
cn.Close();
return mystring;
}
三)错误提示
未将对象引用设置到对象的实例。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。源错误:
行 41: <ItemTemplate>
行 42:
行 43: <img src='../images/<%#GetprojectsByID(DataBinder.Eval(Container.DataItem,"pkid").ToString())%>'>
行 44:
行 45: </ItemTemplate>
四)我将上面代码中
<img src='../images/<%#GetprojectsByID(DataBinder.Eval(Container.DataItem,"pkid").ToString())%>'> 改成为 <img src='../images/<%#GetprojectsByID(8.ToString())%>'> 即可正常显示. 提示:
8是取得的具体pkID,(pkid是肯定可以取到的,因为我将GetprojectsByID方法去掉,其pkid可正常显示)
解决方案 »
- 在Ext控件里能不能实现asp里的CheckBoxList控件功能?
- 调试没问题,发布不成功?悬赏100分
- datalist删除多行记录
- 在一个将阿拉伯数字表示的人民币金额转换到汉字的大写金额程序中出现莫名错误
- 关于enter键代替tab键的问题
- 大家用什么模式开发
- 100分,dagrid中checkbox的问题。分不够可以再加!!!!
- 如何在网页注册中分层(隐藏内容),详细见内容
- b/s系統問題
- csdn的朋友们我又回来了,换了份工作,终于可以不为管理服务器苦恼了,谢谢大家了
- 怎么在asp.net里做到多个用户不能用同一帐号登陆
- DropDownList的问题---小弟眼花,高手帮忙,谢谢!!!!!!!!!!
如何修改呢?