|
Просто подскажите
|
|||
---|---|---|---|
#18+
Есть такая строка в ASPX <asp:dropdownlist id="lststreet" runat=server /> в VB есть программа которая ее заполняет (примерно 1000 записей) Результат - у клиента скрытое поле огромной длины Как это предотвратить? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.04.2003, 09:44 |
|
Просто подскажите
|
|||
---|---|---|---|
#18+
похоже это 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. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.04.2003, 10:05 |
|
Просто подскажите
|
|||
---|---|---|---|
#18+
Спасибо сработало. Вот еще проблема. Выбираю значение из списка, возвращаю значение клиенту. Значение всегда первое по списку. Что я делаю не так? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.04.2003, 10:28 |
|
Просто подскажите
|
|||
---|---|---|---|
#18+
Еще добавлю, что на клиенте <form name="_ctl0" method="post" action="ah.aspx" id="_ctl0"> <input type="hidden" name="__VIEWSTATE" value="dDwtNTYwODU4NjI3Ozs+S6xcpvgV=" /> хотя написал <%@ Page EnableViewState="false" %> ... |
|||
:
Нравится:
Не нравится:
|
|||
25.04.2003, 10:40 |
|
Просто подскажите
|
|||
---|---|---|---|
#18+
Вот еще проблема. Выбираю значение из списка, возвращаю значение клиенту. Значение всегда первое по списку. Что я делаю не так? Ты уж напиши, как делаешь. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.04.2003, 10:48 |
|
Просто подскажите
|
|||
---|---|---|---|
#18+
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 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.04.2003, 11:06 |
|
Просто подскажите
|
|||
---|---|---|---|
#18+
Ну? Ты тут просто заполняешь список значениями из селекта - и все. А что не так и что нужно? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.04.2003, 11:53 |
|
Просто подскажите
|
|||
---|---|---|---|
#18+
lbltext.text = lststreet.selecteditem.value после отправки формы на сервер lststreet.selecteditem.value все время одно и тоже число ... |
|||
:
Нравится:
Не нравится:
|
|||
25.04.2003, 13:01 |
|
Просто подскажите
|
|||
---|---|---|---|
#18+
У меня тоже такая фигня постоянно была когда EnableViewState = false... когда EnableViewState = true - все срабатывает ... |
|||
:
Нравится:
Не нравится:
|
|||
25.04.2003, 16:11 |
|
Просто подскажите
|
|||
---|---|---|---|
#18+
сам же его и отключил.. сохраняй нужное значение в sessions между загрузками страницы. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.04.2003, 16:42 |
|
Просто подскажите
|
|||
---|---|---|---|
#18+
ViewState лучше у страницы не отключать - отключать только у тех компонентов, значения которых не редактируются или не важны или вообще не нужны. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.04.2003, 16:49 |
|
Просто подскажите
|
|||
---|---|---|---|
#18+
дык он потому и задавал вопрос - что бы отключить именно тот самый список т.к. он ему генерирует х.тучу лишнего траффика.. думаю разумно.. просто надо дописать две строчки кода - передачи собственно значения... и все.. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.04.2003, 16:53 |
|
|
start [/forum/topic.php?fid=18&msg=32148581&tid=1396500]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
37ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
others: | 250ms |
total: | 384ms |
0 / 0 |