问题的子串() - ArgumentOutOfRangeException [英] Problem with Substring() - ArgumentOutOfRangeException
本文介绍了问题的子串() - ArgumentOutOfRangeException的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个从我的项目表显示的数据中继器。有专案编号,名称和描述。我在说明中使用子串(1,240)。但有时字符串比240短,所以我得到ArgumentOutOfRangeException。你能告诉我如何显示整个文本,如果我得到的异常。这是我的code。
< ASP:内容ID =内容1ContentPlaceHolderID =ContentPlaceHolder1=服务器>
< ASP:面板ID =pnlDisplayProjects=服务器可见=真>
<中心及GT;< H2>< B>Проекти< / B>< / H>< /中心及GT;
< ASP:直放站ID =rptrProjects=服务器>
<&HeaderTemplate中GT;
<表边框=1的cellpadding =2CELLSPACING =2ALIGN =中心宽度=80%的风格=背景色:#F7F6F3;>
< / HeaderTemplate中>
<&ItemTemplate中GT;
&所述; TR>
< TD align =left的风格=宽度:40像素>
< ASP:标签ID =LblProjectId=服务器文本='<%#的eval(专案编号)%>' />
< / TD>
< TD ALIGN =中心>
< ASP:标签ID =LblName=服务器文本='<%#的eval(姓名)%>' />
< / TD>
< / TR>
&所述; TR>
&所述; TD列跨度=2>
< ASP:标签ID =LblDescription=服务器文本='<%#的eval(说明)的ToString()子串(1,240)+...%>'/ >
< ASP:超链接ID =HlMore=服务器NavigateUrl ='<%#?〜/项目/ ViewProject.aspx专案编号=+的eval(专案编号)%>'文本=更多/>
< / TD>
< / TR>
< / ItemTemplate中>
< FooterTemplate>
< /表>
< / FooterTemplate>
< / ASP:直放站>
< / ASP:面板>
保护覆盖无效在preRender(EventArgs的发送)
{
变种表= Projects.GetTableWithProjects(); 如果(table.Rows.Count大于0)
{
rptrProjects.DataSource =表;
rptrProjects.DataBind();
}
其他
{
pnlDisplayProjects.Visible = FALSE;
Master.PrintMessage(没有项目。);
}
}
解决方案
字符串DEC =说明;
字符串结果= dec.SubString(0,dec.Length> 240 240:dec.Length)
I have a repeater that displays data from my Projects table. There are projectId, name and description. I use Substring(1, 240) on description. But sometimes the string is shorter than 240, so I get ArgumentOutOfRangeException. Can you tell me how to display the whole text if I get the exception. This is my code.
<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.");
}
}
解决方案
string dec = "description";
string result = dec.SubString( 0, dec.Length > 240 ? 240 : dec.Length )
这篇关于问题的子串() - ArgumentOutOfRangeException的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文