姓名' hometext'在当前上下文中不存在

时间:2014-03-26 22:00:57

标签: c# asp.net database visual-studio-2012

我是Visual Studio,asp.net和C#的新手。我设法创建了一个数据库,从我的表格中提取标题文本,图像和主要文本,并在我的网页上显示这些内容。我希望我主页上的主要文本只显示正文的前200个字符。在我的aspx文件中,我有以下内容:

<asp:DataList ID="HomeList" runat="server" DataSourceID="SqlDataSource1">
    <Itemtemplate>
        <div id ="titlerecent"><asp:Label ID="hometitle" runat="server" Text='<%# Eval("HomeHeader") %>'/>  </div>
        <br /><p><asp:Label ID="hometext" runat="server" Text='<%# Eval("HomeText") %>'/>   </p>
        <div id='resize'><asp:Image ID="homeimage" runat="server" ImageUrl ='<%#"images/" + Eval("HomeImg") %>' /></div>
    </Itemtemplate>     
</asp:DataList>

所有显示都很隆重但我现在的困难是访问hometext.Text 我不确定我是否以及如何做到这一点,以便我可以更改我想要显示的字符数量。 我一直在我的aspx.cs文件中尝试下面的代码,首先将文本存储在一个字符串变量中,但它产生一个错误&#39;名称hometext在当前上下文中不存在&#39;如果有人可以请求帮助,我将非常感激。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        String str = hometext.Text;
    }
}

1 个答案:

答案 0 :(得分:0)

原谅vb,但你应该能够轻松地将它转换为c#

Private Sub HomeList_ItemDataBound(sender As Object, e As DataListItemEventArgs) Handles HomeList.ItemDataBound

    If e.Item.ItemType = ListItemType.Item Or e.Item.ItemType = ListItemType.AlternatingItem Then
        Dim x As Label = e.Item.FindControl("hometext")
        x.Text = Left(x.Text, 200)
    End If

End Sub