Fer*_*ndo 6 .net c# asp.net data-binding repeater
<asp:Repeater>我的网页中有一个绑定到编程创建的数据集的网页.
此转发器的目的是从AZ创建索引,单击该索引时,将刷新页面上的信息.
转发器有一个链接按钮,如下所示:
<asp:LinkButton ID="indexLetter" Text='<%#DataBinder.Eval(Container.DataItem,"letter")%>'
runat="server" CssClass='<%#DataBinder.Eval(Container.DataItem, "cssclass")%>'
Enabled='<%#DataBinder.Eval(Container.DataItem,"enabled")%>'></asp:LinkButton>
Run Code Online (Sandbox Code Playgroud)
数据集按以下方式创建:
protected DataSet getIndex(String index)
{
DataSet ds = new DataSet();
ds.Tables.Add("index");
ds.Tables["index"].Columns.Add("letter");
ds.Tables["index"].Columns.Add("cssclass");
ds.Tables["index"].Columns.Add("enabled");
char alphaStart = Char.Parse("A");
char alphaEnd = Char.Parse("Z");
for (char i = alphaStart; i <= alphaEnd; i++)
{
String cssclass="", enabled="true";
if (index == i.ToString())
{
cssclass = "selected";
enabled = "false";
}
ds.Tables["index"].Rows.Add(new Object[3] {i.ToString(),cssclass,enabled });
}
return ds;
}
Run Code Online (Sandbox Code Playgroud)
但是,当我运行页面时,会抛出"指定的强制转换无效异常" Text='<%#DataBinder.Eval(Container.DataItem,"letter")'.我不知道为什么,我已经尝试手动转换为String(String),我尝试过ToString()方法,我已经尝试了一切.
另外,如果在调试器中我为DataBinder.Eval(Container.DataItem,"letter")添加一个监视,它返回的值是"A",根据我的说法,对于Text属性应该没问题.
编辑:
这是一个例外:
用户代码未处理System.InvalidCastException
消息="指定的强制转换无效".Source ="App_Web_cmu9mtyc"
StackTrace:位于e:\ Documents and Settings\Fernando\My Documents\Visual Studio 2008\Projects\mediTrack\mediTrack\saveCondition.aspx中的ASP.savecondition_aspx .__ DataBinding__control7(Object sender,EventArgs e):第45行at位于System.Web.UI.Control.DataBindChildren的System.Web.UI.Control.DataBind()上System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding)的System.Web.UI.Control.OnDataBinding(EventArgs e)( )InnerException:
任何建议将不胜感激,谢谢
编辑2: 修复!问题不在Text或CSS标记中,但在Enabled标记中,我不得不将其强制转换为布尔值.问题是异常是在Text标签上发出的,我不知道为什么
我不知道这是否会产生任何影响,但请尝试以下(也请注意间距)
<asp:LinkButton ID="indexLetter" Text='<%# Eval("letter")%>'
runat="server" CssClass='<%# Eval("cssclass")%>'
Enabled='<%# Eval("enabled")%>'></asp:LinkButton>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
27147 次 |
| 最近记录: |