На сей раз интересует как работать с хэлпом. Вот простой пример в ASP.NET
Есть объект Request. У него некое свойство есть "по умолчанию". Насколько я понимаю оно обзывается Indexer и к нему можно обратиться просто указав в квадратных скобках параметер, типа для данного случая Request["MyParamName"]. А теперь вопросы:
1. Вопрос первый. Если я этот класс Request вижу впервый раз и смотрю на него как баран на новые ворота, откуда можно узнать что у него есть такое свойство по умолчанию, и что оно делает. Например в данном случае ткнув на F1 на слове Request, я получаю следующую страницу хэлпа:
| Цитата | Gets the HttpRequest object for the requested page.
Namespace: System.Web.UI Assembly: System.Web (in system.web.dll)
Syntax Visual Basic (Declaration) Public ReadOnly Property Request As HttpRequest Visual Basic (Usage) Dim instance As Page Dim value As HttpRequest
value = instance.Request
C# public HttpRequest Request { get; } C++ public: property HttpRequest^ Request { HttpRequest^ get (); } J# /** @property */ public HttpRequest get_Request ()
JScript public function get Request () : HttpRequest
Property Value The current HttpRequest associated with the page. Exceptions Exception type Condition HttpException Occurs when the HttpRequest object is not available.
Remarks The HttpRequest object contains information about the current HTTP request.
Example The following example demonstrates how to obtain the Headers collection from the HttpRequest object and write it to an ASP.NET page.
{динючий кусок кода приведенный в качестве примера я здесь вырезал}
Platforms Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.
Version Information .NET Framework Supported in: 2.0, 1.1, 1.0
See Also Reference Page Class Page Members System.Web.UI Namespace HttpException HttpRequest HttpResponse
|
Вроде ясно отсылают к описанию класса HttpRequest, кликаем на справку по HttpRequest, получаем:
| Цитата | Enables ASP.NET to read the HTTP values sent by a client during a Web request.
Namespace: System.Web Assembly: System.Web (in system.web.dll)
Syntax Visual Basic (Declaration) Public NotInheritable Class HttpRequest Visual Basic (Usage) Dim instance As HttpRequest
C# public sealed class HttpRequest C++ public ref class HttpRequest sealed J# public final class HttpRequest JScript public final class HttpRequest
Remarks The methods and properties of the HttpRequest class are exposed through the Request properties of the HttpApplication, HttpContext, Page, and UserControl classes.
Topic Location How to: Pass Values Between ASP.NET Web Pages Building ASP .NET Web Applications
Example The following code example uses the StreamWriter class to write the values of several HttpRequest class properties values to a file. For properties that are of type string, the values are HTML encoded as they are written to the file. Properties that represent a collection are looped through, with each key/value pair they contain written to the file.
Visual Basic Copy Code {динючий кусок кода приведенный в качестве примера я здесь вырезал}
.NET Framework Security AspNetHostingPermission for operating in a hosted environment. Demand value: LinkDemand; Permission value: Minimal.
Inheritance Hierarchy System.Object System.Web.HttpRequest
Thread Safety Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe. Platforms Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.
Version Information .NET Framework Supported in: 2.0, 1.1, 1.0
See Also Reference HttpRequest Members System.Web Namespace
Send comments about this topic to Microsoft.
|
Итого нигде об этом не говорится, или я просто не понимаю то что читаю (такое тоже может быть). Я посмотрел и Members этого класса, Members перечисленны, а то что используется по умолчанию там нет, или я его просто не вижу, не зная куда смотреть?
2. Второй вопрос. Допустим я допёр как-то что делает Request["MyParamName"] - прочитал на форуме, наткнулся на пример в том же хэлпе и т.п. Как узнать тип значений с которыми эта штука оперирует? При работе с обычными свойствами и методами всё ясно, для начала хотябы сама подсказка в выпадающем листе даёт названия требуемых и возвращаемых типов данных, но тут ни фига! Никакой подсказки по ходу, никаких хинтов... Можно конечно извратится и присвоить что-то неправильное и прочитать что компиллятор скажет в ошибке, какой тип он не может конвертнуть в какой... но может есть более удобоваримый способ это делать?
Например мне надо установить в комбобоксе активным некий элемент, я это, следуя справке делаю примерно так:
| Код | ddlSubcategory.SelectedIndex = ddlSubcategory.Items.IndexOf(ddlSubcategory.Items.FindByValue("MyString"));
|
Не правда ли кошмар? А ведь спинным мозгом чуствую что наверняка это же самое можно сделать как минимум в 2 раза короче... Только пока не понимаю как в справке найти то что мне нужно :(
|