Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 删除转发器内标签上的单词_C#_Asp.net_Label_Repeater - Fatal编程技术网

C# 删除转发器内标签上的单词

C# 删除转发器内标签上的单词,c#,asp.net,label,repeater,C#,Asp.net,Label,Repeater,我正在尝试从标签中删除单词,直到它小于指定的允许宽度。然而,当我在repeaters项上循环时,Width=0,Text属性总是空的 我已尝试将代码移动到OnItemDataBound private void loadData() { Activities activities = new Activities(); var acts = activities.getNextActivities(3); if (acts.Count > 0) {

我正在尝试从标签中删除单词,直到它小于指定的允许宽度。然而,当我在repeaters项上循环时,Width=0,Text属性总是空的

我已尝试将代码移动到OnItemDataBound

private void loadData()
{
    Activities activities = new Activities();
    var acts = activities.getNextActivities(3);
    if (acts.Count > 0)
    {
        rptActivities.DataSource = acts;
        rptActivities.DataBind();

        foreach (RepeaterItem item in rptActivities.Items)
        {
            Label lblActName = (Label)item.FindControl("lblActName");
            Unit width = lblActName.Width;
            while (width.Value > 310)
            {
                int pos = lblActName.Text.LastIndexOf(" ") < 0 ? 0 : lblActName.Text.LastIndexOf(" ");
                lblActName.Text = lblActName.Text.Substring(0, pos);
                width = lblActName.Width;
            }
        }
     }
     else
     {
        pnlItems.Visible = false;
        pnlNoItems.Visible = true;
     }
}
private void loadData()
{
活动=新活动();
var acts=活动。GetNextractivities(3);
如果(acts.Count>0)
{
rptActivities.DataSource=acts;
rptActivities.DataBind();
foreach(rptActivities.Items中的RepeaterItem项)
{
Label lblActName=(Label)item.FindControl(“lblActName”);
单位宽度=lblActName.width;
while(width.Value>310)
{
int pos=lblActName.Text.LastIndexOf(“”)<0?0:lblActName.Text.LastIndexOf(“”);
lblActName.Text=lblActName.Text.Substring(0,位置);
宽度=lblActName.width;
}
}
}
其他的
{
pnlItems.Visible=false;
pnlNoItems.Visible=true;
}
}

注意,控件的
Width
属性不会根据控件的内容动态计算宽度;如果设置了
Width
属性,那么如果生成的HTML元素上有相应的属性,它将在HTML中向下发送该属性。请参阅文档:。您最好的选择是提供一些字符(因此
string.Length
),您可以轻松地使用这些字符剪切数据。@ChrisShaffer哦,好的,非常感谢。:)@ChrisShaffer在我的foreach循环运行时,length属性也为0,正如主题中提到的,文本为空。标签数据绑定后,如何运行此代码?有几种方法可以做到这一点;您可以在
activities.getnextractivities()
方法中执行此操作,也可以在将数据绑定到中继器之前在上面的方法中执行此操作。如果要在绑定后执行此操作,则应在
OnItemDataBound
事件处理程序中执行。