Tôi có bộ lặp hiển thị dữ liệu từ bảng Dự án của mình. Có projectId, tên và mô tả. Tôi sử dụng chuỗi con (1, 240) trên mô tả. Nhưng đôi khi chuỗi ngắn hơn 240, vì vậy tôi nhận được ArgumentOutOfRangeException. Bạn có thể cho tôi biết làm thế nào để hiển thị toàn bộ văn bản nếu tôi nhận được ngoại lệ. Đây là mã của tôi.Sự cố với chuỗi con() - ArgumentOutOfRangeException
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<asp:Panel ID="pnlDisplayProjects" runat="server" Visible="true">
<center><h2><b>Проекти</b></h2></center>
<asp:Repeater ID="rptrProjects" runat="server">
<HeaderTemplate>
<table border="1" cellpadding="2" cellspacing="2" align="center" width="80%" style="background-color:#F7F6F3;">
</HeaderTemplate>
<ItemTemplate>
<tr>
<td align="left" style="width:40px">
<asp:Label ID="LblProjectId" runat="server" Text='<%# Eval("ProjectID") %>' />
</td>
<td align="center">
<asp:Label ID="LblName" runat="server" Text='<%# Eval("Name") %>' />
</td>
</tr>
<tr>
<td colspan="2">
<asp:Label ID="LblDescription" runat="server" Text='<%# Eval("Description").ToString().Substring(1, 240) + "..." %>'/>
<asp:HyperLink ID="HlMore" runat="server" NavigateUrl='<%#"~/Project/ViewProject.aspx?projectId=" + Eval("ProjectID") %>' Text="More" />
</td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
</asp:Panel>
protected override void OnPreRender(EventArgs e)
{
var table = Projects.GetTableWithProjects();
if (table.Rows.Count > 0)
{
rptrProjects.DataSource = table;
rptrProjects.DataBind();
}
else
{
pnlDisplayProjects.Visible = false;
Master.PrintMessage("There are no projects.");
}
}
Làm cách nào để gọi? –
Cảm ơn bạn. Tôi đã làm điều đó :) –
Chỉ cần kiểm tra tính chính xác - 'SubString' phải là' Chuỗi con', đúng không? – brandaemon