2013-06-18 4 views
0

У меня есть набор данных, заполняемый запросом базы данных (который работает нормально). В базе данных есть столбец, содержащий «модели». Некоторые из этих моделей имеют в них символ «+», что вызывает проблемы позже, когда модель используется в строке запроса URL (так как символ + интерпретируется как пробел). Поэтому я пытаюсь заменить каждое значение в этом столбце на строку кодированного URL.Цитирование по строкам в наборе данных и значение значения

Я пробовал несколько разных наборов кода. Прямо сейчас у меня есть:

For Each row As DataRow In models.Tables(0).Rows 
    row.Item("Model") = HttpUtility.UrlEncode(row.Item("Model")) 
Next 
Me.ModelsList.DataSource = models 
Me.ModelsList.DataBind() 

Я пробовал варианты на этом, но ничего не работает. Он не заменяет значение измененным значением (то есть URL-адрес на отображаемой странице не изменяется). Я уверен, что мне не хватает чего-то простого, но я не могу придумать, что это может быть.

+0

Вы пробовали модели.SaveChanges после того, как вы закончили цикл? Просто идея. –

+0

@ DNNDev.co.za: Нет DataTable.SaveChanges. Я предполагаю, что вы имеете в виду ['AcceptChanges'] (http://msdn.microsoft.com/en-us/library/system.data.datatable.acceptchanges (v = vs.80) .aspx), который делает что-то совершенно другое (изменения каждый «RowState» DataRow не изменится). –

+0

Не является ли DataMember свойством DataGrid? Это не свойство DataSet. – Kurt

ответ

0

Оказывается, было событие Pre_Render, которое переопределяло приведенный выше код (который был в событии Page_Load). Просто пришлось изменить это, и оно работает.

Смежные вопросы