powered by simpleCommunicator - 2.0.35     © 2025 Programmizd 02
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Просто подскажите
12 сообщений из 12, страница 1 из 1
Просто подскажите
    #32148486
Samir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть такая строка в ASPX

<asp:dropdownlist id="lststreet" runat=server />

в VB есть программа которая ее заполняет (примерно 1000 записей)
Результат - у клиента скрытое поле огромной длины

Как это предотвратить?
...
Рейтинг: 0 / 0
Просто подскажите
    #32148517
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
похоже это viewstate. избавиться от него можно так:

Save server control view state only when necessary.
Automatic view-state management is a feature of server controls that enables them to repopulate their property values on a round trip (without you having to write any code). This feature does impact performance, however, since a server control's view state is passed to and from the server in a hidden form field. You should be aware of when view state helps you and when it hinders your page's performance. For example, if you are binding a server control to data on every round trip, the saved view state is replaced with new values that are obtained from the data-binding operation. In this case, disabling view state saves processing time.
View state is enabled for all server controls by default. To disable it, set the EnableViewState property of the control to false, as in the following DataGrid server control example.

<asp:datagrid EnableViewState="false" datasource="..." runat="server"/> --- для своего dropdownlist
You can also disable view state for an entire page by using the @ Page directive. This is useful when you don't post back to the server from a page:

<%@ Page EnableViewState="false" %>
Note The EnableViewState attribute is also supported in the @ Control directive, which allows you to control whether view state is enabled for a user control.
To analyze the amount of view state used by the server controls on your page, enable tracing for the page (by including a trace="true" attribute in the @ Page directive) and look at the Viewstate column of the Control Hierarchy table. For information about tracing and how to enable it, see ASP.NET Trace.

также в MSDN есть интересная статья Developing High-Performance ASP.NET Applications [C#] ищется по view states.
...
Рейтинг: 0 / 0
Просто подскажите
    #32148557
Samir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо сработало.

Вот еще проблема. Выбираю значение из списка, возвращаю значение клиенту. Значение всегда первое по списку.

Что я делаю не так?
...
Рейтинг: 0 / 0
Просто подскажите
    #32148581
Samir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще добавлю, что на клиенте

<form name="_ctl0" method="post" action="ah.aspx" id="_ctl0">
<input type="hidden" name="__VIEWSTATE" value="dDwtNTYwODU4NjI3Ozs+S6xcpvgV=" />

хотя написал
<%@ Page EnableViewState="false" %>
...
Рейтинг: 0 / 0
Просто подскажите
    #32148594
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот еще проблема. Выбираю значение из списка, возвращаю значение клиенту. Значение всегда первое по списку.

Что я делаю не так?


Ты уж напиши, как делаешь.
...
Рейтинг: 0 / 0
Просто подскажите
    #32148628
Samir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ASPX
<asp:dropdownlist id="lststreet" runat=server />


VB

Public Class AdvancedSearch : Inherits Page
Protected lbltext as label
Protected lststreet as dropdownlist
Dim CS As String = "Provider=SQLOLEDB.1; Data source=server;" & _
"Initial Catalog=UnixBase; User id=login; Password=passwd"
Dim con As New OleDBConnection(CS)

Private SUB Page_load(sender As Object, e As EventArgs) Handles MyBase.load

FillStreet()
if txtats.text & txtfio.text & txtadr.text = ""
return
end if

Dim SelectSql As String = ""

lbltext.text = lststreet.selecteditem.value
End Sub

Private Sub FillStreet()

Dim SelectSql As String = "Select * from str"
Dim cmd As New OleDBCommand(SelectSQL, con)
Dim adapter As New OleDBDataAdapter(cmd)
Dim Street As New DataSet()

Try
con.Open()
lststreet.datavaluefield = "st_kod"
lststreet.datatextfield = "st_name"
adapter.fill(Street, "Street")
lststreet.datasource = street
me.databind()

Catch err As Exception
lbltext.text = err.message()
Finally
If (Not con Is Nothing) Then
con.close()
End If
End Try

End Sub

End class
...
Рейтинг: 0 / 0
Просто подскажите
    #32148703
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну?

Ты тут просто заполняешь список значениями из селекта - и все.

А что не так и что нужно?
...
Рейтинг: 0 / 0
Просто подскажите
    #32148783
Samir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lbltext.text = lststreet.selecteditem.value

после отправки формы на сервер
lststreet.selecteditem.value все время одно и тоже число
...
Рейтинг: 0 / 0
Просто подскажите
    #32149101
хк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня тоже такая фигня постоянно была когда EnableViewState = false...
когда EnableViewState = true - все срабатывает
...
Рейтинг: 0 / 0
Просто подскажите
    #32149136
Полуэкт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сам же его и отключил..

сохраняй нужное значение в sessions между загрузками страницы.
...
Рейтинг: 0 / 0
Просто подскажите
    #32149144
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViewState лучше у страницы не отключать - отключать только у тех компонентов, значения которых не редактируются или не важны или вообще не нужны.
...
Рейтинг: 0 / 0
Просто подскажите
    #32149150
Полуэкт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
дык он потому и задавал вопрос - что бы отключить именно тот самый список т.к. он ему генерирует х.тучу лишнего траффика.. думаю разумно.. просто надо дописать две строчки кода - передачи собственно значения... и все..
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Просто подскажите
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]