我是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;
}
}
答案 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