sukumar kathula Ответов: 3

Обрезать строковое значение после запятой в ASP.NET, с#


public string CorrectedPicture(object container)
       {
           object devNumber = DataBinder.Eval(container, "ImageFileName");
           string ret = devNumber.ToString();

           //// Add picture link if needed.
           DataRow row = ((DataRowView)container).Row;
           object ImageFileName = row["ImageFileName"];

           string ImageFileName1 = ImageFileName.ToString();
           string[] values = ImageFileName1.Split(',');

           for (int i = 0; i <= 0; i++)
           {


               if (ImageFileName != DBNull.Value)
               {
                   string url = @"D:\NewOutlookFiles" + txtProjectId.Text + "/" + values[i].ToString();
                   string titleText = "Deviation" + values[i].ToString() + "Picture";
                   string link = "javascript: void openPicture('_" + values[i].ToString() + "', '" + titleText + "', '" + url + "')";
                   ret = "<a href=\x22" + link + "\x22>" + ret + "</a>";
               }
           }

           return ret;
       }




&ЛТ;АСП:метка идентификатор="lblPicture" атрибут runat="сервер" текст=в'<%# это.CorrectedPicture (Контейнер.Элемента данных) %&ГТ;'
ItemStyle-wrap= "true" ItemStyle-Width= "10px" >


Что я уже пробовал:

Мой столбец "ImageFileName" имеет несколько значений , разделенных запятой, и привязывает значения к метке. он работает нормально но проблема в том что я хочу привязать только первое значение к метке а не все значения из столбца

Richard Deeming

В чем заключается цель for петля? Код внутри него будет выполняться только один раз.

3 Ответов

Рейтинг:
2

Suvendu Shekhar Giri

Вместо того, чтобы запускать цикл, просто назначьте первое значение в массиве после того, как вы сделали разделение.
Чтобы получить первое значение из "ImageFileName", вы можете сделать что-то вроде следующего-

string imgfilename= ImageFileName1.Split(',')[0];

Если вы подозреваете возможные пустые записи или запятую в начале строки, вы можете использовать StringSplitOption[^] чтобы предотвратить такие значения, как результат.
string imgfilename= ImageFileName1.Split(',',StringSplitOptions.RemoveEmptyEntries)[0];


Надеюсь, это поможет.
Пожалуйста, дайте мне знать, если вам понадобится дополнительная помощь в этом вопросе.

Спасибо :)


Рейтинг:
0

Karthik_Mahalingam

попробовать это

выполните разделение после проверки значений null и dbnull

object ImageFileName = row["ImageFileName"];
           if (ImageFileName != DBNull.Value && ImageFileName != null )
           {
               string value = ImageFileName.ToString().Split(',')[0];
               string url = @"D:\NewOutlookFiles" + txtProjectId.Text + "/" + value;
               string titleText = "Deviation" + value + "Picture";
               string link = "javascript: void openPicture('_" + value + "', '" + titleText + "', '" + url + "')";
               ret = "<a href=\x22" + link + "\x22>" + ret + "</a>";
           }


Рейтинг:
0

Tadit Dash (ତଡିତ୍ କୁମାର ଦାଶ)

Цитата:
Мой столбец "ImageFileName" имеет несколько значений , разделенных запятой, и привязывает значения к метке. он работает нормально но проблема в том что я хочу привязать только первое значение к метке а не все значения из столбца
Разделите и выберите первый.