DataBinding:“System.Data.DataRowView”不包含名为“Title”的属性。
有一段程序,在未修改之前可以运行正常。本人想添加一个与之前有一样效果的GridView控件,于是对GridView5控件进行复制。修改了一下其中的一些小控件ID之后,对后台.cs相关代码也页进行了相同的复制,但是运行后报了题目中所示的的错误。
aspx页面的代码:
- C# code
<asp:GridView ID="GridView6" runat="server" Width="100%" AutoGenerateColumns="False" BackColor="White" BorderColor="#CCCCCC" BorderStyle="None" BorderWidth="1px" CellPadding="3"><Columns> <asp:TemplateField HeaderText="综合题"> <ItemTemplate> <table id="Table7" cellspacing="1" cellpadding="1" width="100%" align="center" border="0"> <tr> <td> <asp:Label id="Label24" runat="server" Text='<%# Container.DataItemIndex+1 %>'> </asp:Label> <asp:Label id="Label25" runat="server" Text='<%# Eval("Title","、{0}") %>'>(报错的地方) </asp:Label> <asp:TextBox id="txtAnswer1" runat="server" Width="100%" TextMode="MultiLine"></asp:TextBox> <asp:Label id="Label26" runat="server" Text='<%# Eval("ID") %>' Visible="False"> </asp:Label> </td> </tr> </table> </ItemTemplate> </asp:TemplateField></Columns></asp:GridView>
.cs代码:
- C# code
SqlParameter[] Params6 = new SqlParameter[2]; Params6[0] = DB.MakeInParam("@PaperID", SqlDbType.Int, 4, paperID); //试卷编号 Params6[1] = DB.MakeInParam("@Type", SqlDbType.VarChar, 10, "综合题"); //题目类型 DataSet ds6 = DB.GetDataSet("Proc_PaperDetail", Params6); GridView6.DataSource = ds6; GridView6.DataBind();
DB.GetDataSet的代码:
- C# code
public DataSet GetDataSet(string ProcName, SqlParameter[] Params){ Open(); SqlCommand Cmd = CreateCommand(ProcName, Params); SqlDataAdapter adapter = new SqlDataAdapter(Cmd); DataSet dataset = new DataSet(); adapter.Fill(dataset); Close(); return dataset;}
这段代码是仿照复制添加GridView6前GridView5的代码进行修改的,运用到了存储过程(本人对这个不太懂),会不会是只复制添加了前面两段代码,对存储过程中sql语句没有成对添加?是不是 GridView6.DataSource = ds6那里导致出的错?
有个疑问就是有好几种题型和几个ds,代码都差不多,如何知道某个ds绑定了哪个数据表进行数据读取的操作呢?
找遍了所有代码,找不到ds跟数据库交互的sql语句。
求助!!!!
[解决办法]
安装个SQLSERVER的管理工具不就方便了吗?http://www.microsoft.com/downloads/zh-cn/details.aspx?familyid=08e52ac2-1d62-45f6-9a4a-4b76a8564a2b&displaylang=zh-cn
其实Visual Studio也可以管理,但是功能没有这个强大。
至于修改存储过程,其实只要执行ALTER语句即可,但是前提是你要会写SQL语句。不过用上述的工具就不需要那么麻烦,自动创建更改脚本,然后只要微调即可。
[解决办法]