• Привет, Гость!
  • Войти
  • Регистрация
  • Записи
  • Форумы
  • Люди
  • Файлы
  • Работа
  • Технологии

FAQ по форуму ASP.NET

Все форумы  Правила  Помощь 
Форумы GotDotNet.Ru » ASP.NET » FAQ по форуму ASP.NET
Страницы: 1 2 3 След.
RSS
[ Закрыто ] FAQ по форуму ASP.NET
Chavo
Сообщений: 79 Регистрация: 20.02.2003
#1
24.07.2003 11:25
FAQ по форуму ASP.NET

  1. На странице находится две группы полей каждую из которых нужно валидировать независимо при нажатии на соответсвующую кнопку. Как это сделать?
  2. Как избежать многократного отправки данных пользователем при нажатии на кнопку. Когда на странице используются валидаторы не получается перекрыть form.onsubmit()
  3. элемент TreeView показывает все узлы в одной куче.
  4. На странице вместо русского текста непонятные символы. Не передаются русские буквы методом post!
  5. Что необходимо для работы ASP.NET?
  6. Возможно-ли использовать несколько языков программирования в одном ASPX файле?
  7. Можно-ли использовать с++ в качестве языка для серверных скриптов? Например, написатьв начало моего ASPX файла нечто наподобии <%@ Page Language="C++" %>.
  8. Возможно-ли использовать code-behind в файлах Global.asax?
  9. Допустимо-ли переопределить method="post" в тэге <form runat="server"> следующим образом <form method="get" runat="server">?
  10. Допускается в ASPX файлах использовать несколько форм помеченных как runat="server"?
  11. Каким образом просмотреть код, получаемый ASP.NET из файла ASPX?
  12. Поддерживается-ли в ASP.NET server-side includes (SSI)?
  13. Поддерживается-ли в ASP.NET тэги server-side objects?
  14. Дайте пример использования комментариев в файле ASPX.
  15. Как, при загрузке страницы, в поля ввода на странице помещать значения из cookies.
  16. Как отобразить картинку, если она сохранена в БД?
  17. Я отображаю в DataGrid данные из таблицы БД. Под ним еще один, отображаюший информацию из другой таблицы. Нужно менять координаты второго, если высота первого меняется.
  18. DataGrid. А что почитать, для начала, о DataGrid ?
  19. Допустим в каждой строке DataList я вывожу столбец с количеством знаков в документе Qty из таблицы Documents базы данных. Теперь я хочу подсчитать суммарное количество знаков во всех документах и вывести его в Footer Item. Как мне это сделать?
  20. Часто встречается код вида <%# DataBinder.Eval(Container.DataItem, "Price", "{0:c}") %>. Что такое Container и какие еще свойства я могу использовать?
  21. Как определить физический путь на сервере к моим файлам?
  22. Использование в html-коде страницы <%...%> с обращениями к свойствам и методам объявленным в моем namespace но в других классах приводит к ошибке: Compiler Error Message CS0246...
  23. Не отображаются серверные элементы управления на моей странице.
  24. Как сделать так, чтобы у всех страниц был свой header и свой footer. Так, чтобы не пришлось менять все страницы.
  25. Как определить версию .NET Framework, используемой Web-сайтом?
  26. Возможно ли осуществить привязку Web-приложения к определенной версии .NET Framework?
  27. Хочу, чтобы Web-приложение работало c версией 1.0 .NET Framework. при наличии установленной версии 1.1.
  28. Почему не установился IIS 6.0 при установке Windows Server 2003? Что мне нужно сделать чтобы запустить службу IIS?
  29. Как предотвратить выполнение скрипта злоумышленника, передаваемого со страницей-запросом?
  30. Как получить значение из скрытого HTML-поля (<INPUT type="hidden" id="tbID">) в обработчике события серверного элемента управления.
  31. Что содержит «_ViewState»?
  32. Как получить доступ к файлам расположенным на сетевых дисках, используя учетные данные пользователя отличного от контекста страницы?
  33. Как разбить данные выводимые DataList или Repeater на страницы
  34. DataGrid. Как получить Primary Key строки DataGrid, в которой произошло событие ItemCommand?
  35. Как сменить язык страницы, например, чтобы месяц в календаре отображался на указанном языке?
  36. Как передать данные из одной формы в другую?
  37. ASP.NET 2.0 Как установить фокус на определенный элемент управления при загрузке aspx-страницы?
  38. Доступ к файлам. Как предоставить файл только зарегистрированному пользователю?
  39. Что такое <%# %>, <% %>, <%= %> и <script runat=”server”> </script>?
  40. Свойство ID элементов в шаблонных столбцах переустанавливается в значение по-умолчанию. Почему?..
  41. Как добавить собственный параметр в web.config и считать его.
  42. Как автоматически аутентифицировать доменных пользователей в локальной сети и выводить приглашение для остальных?
  43. Как программно создать ItemTemplate в System.Web.UI.WebControls.DataGrid?
  44. WS. Как в веб-сервис передаются параметры по-ссылке?
  45. Debug. Проблемы с отладкой ASP.NET приложений.
  46. _VIEWSTATE. Что это, для чего и как с ним "бороться"?
  47. События для обмена информацией между контролами, расположенными на странице.
  48. Как после отправки формы не дать перейти на нее по кнопке "Back"?
  49. Как получить значения динамически добавляемых контролов.
  50. После релоада страницы значение поля типа Password не сохраняется. Как с этим бороться?
  51. Как в UserControl достучаться до класса Page?
  52. ASP.NET 2.0 Как получить доступ к пользовательскому классу?
  53. Где взять TabControl в ASP.NET 2?
  54. Как использовать спец-символы (&">'<) в web.config?
  55. WebService как источник данных для Reporting Service SQL Server 2005
  56. Можно-ли использовать в именах файлов не только латинские символы?

 
 
Chavo
Сообщений: 79 Регистрация: 20.02.2003
#2
05.06.2003 13:33
Вопрос

На странице находится две группы полей каждую из которых нужно валидировать независимо при нажатии на соответсвующую кнопку. Как это сделать?

Ответ

Необходимо Всем валидаторам выставить значение Enabled=false. В обработчиках кнопок, включать необходимые валидаторы, и вызывать Page.Validate()
 
 
Chavo
Сообщений: 79 Регистрация: 20.02.2003
#3
05.06.2003 13:34
Вопрос

Как избежать многократного отправки данных пользователем при нажатии на кнопку. Когда на странице используются валидаторы не получается перекрыть form.onsubmit()

Ответ

В таком случае Вам необходимо использовать HTML контрол HTMLButton c таким объявлением:
<INPUT id="Button1" 
	onclick="Button1.disabled=true;" 
	type="button" 
	value="Добавить" 
	name="Button1" 
	runat="server" 
	onserverclick="doInsert"
/>

не забудьте также вставить в конце метода doInsert добавить строку
Button1.enabled="True"
 
 
Chavo
Сообщений: 79 Регистрация: 20.02.2003
#4
05.06.2003 13:35
Вопрос

элемент TreeView показывает все узлы в одной куче.

Ответ

Скорее всего, не найдены клиентские файлы, необходимые для работы TreeView. При инсталяции эти файлы помещаются в "Inetpub\wwwroot\webctrl_client"; на сервере эта папка должна быть доступна по относительному пути "/webctrl_client", либо нужно в web.config прописать ее расположение:
<configuration>
	<configSections>
		<section
			name="MicrosoftWebControls"
type="System.Configuration.NameValueSectionHandler,
System, Version=1.0.3300.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089" 
		/>
	</configSections>
<MicrosoftWebControls>
	<add 
		key="CommonFiles" 
		value="/ClientSide/webctrl_client/1_0/" 
	/>
</MicrosoftWebControls>
</configuration>
 
 
Chavo
Сообщений: 79 Регистрация: 20.02.2003
#5
05.06.2003 13:36
Вопрос

На странице вместо русского текста непонятные символы. Не передаются русские буквы методом post!

Ответ

Необходимо в файл web.config добавить следующую строку:
<globalization 
	fileEncoding="windows-1251" 
	requestEncoding="windows-1251" 
	responseEncoding="windows-1251" 
	culture="ru-RU" 
	uiCulture="ru-RU" 
/>


Кроме того, существуют функции UrlEncode и UrlDecode.
 
 
Chavo
Сообщений: 79 Регистрация: 20.02.2003
#6
05.06.2003 13:36
Вопрос

Что необходимо для работы ASP.NET?

Ответ

Для работы ASP.NET необходим установленный и работающий Internet Information Server (IIS). ASP.NET интегрируется в IIS и, соответственно, работает на Windows 2000\XP\2003 и Longhorn.
 
 
Chavo
Сообщений: 79 Регистрация: 20.02.2003
#7
05.06.2003 13:37
Вопрос

Возможно-ли использовать несколько языков программирования в одном ASPX файле?

Ответ

Нет, ASP.NET использует парсер для извлечения кода из ASPX файла и размещения этого кода во временный файл. Парсер может работать только с одним языком.
 
 
Chavo
Сообщений: 79 Регистрация: 20.02.2003
#8
05.06.2003 13:37
Вопрос

Можно-ли использовать с++ в качестве языка для серверных скриптов? Например, написатьв начало моего ASPX файла нечто наподобии <%@ Page Language="C++" %>.

Ответ

Нет, для извлечения Вашего кода из ASPX файла используется парсер. Этот парсер работает только с C#, Visual Basic.NET и JScript.NET. Для того, чтобы получить возможность использовать любой из языков, поддерживаемых .NET, следует размещать код в отдельных файлах.
 
 
Chavo
Сообщений: 79 Регистрация: 20.02.2003
#9
05.06.2003 13:41
Вопрос

Возможно-ли использовать code-behind в файлах Global.asax?

Ответ

Да. Ниже приводится простейший файл Global.asax в котором не используется code-behind:
<%@ Import Namespace="System.Data" %>
<script language="C#" runat="server">
	void Application_Start ()
	{
		DataSet ds = new DataSet ();
ds.ReadXml (Server.MapPath ("GlobalData.xml"));
Application["GlobalData"] = ds;
	}
</script>


Далее приводится пример использования сode-behind для описанного выше случая:
<%@ Application Inherits="MyApp" %>

// Реализация класса MyApp:

using System.Web;
using System.Data;

public class MyApp : HttpApplication
{
	public void Application_Start ()
	{
		DataSet ds = new DataSet ();
		ds.ReadXml ("GlobalData.xml");
		Application["GlobalData"] = ds;
	}
}


Таким образом, ASP.NET компилирует класс MyApp в DLL (csc /t:library filename.cs) и размещает в подкаталог BIN корневого каталога приложения.
 
 
Chavo
Сообщений: 79 Регистрация: 20.02.2003
#10
05.06.2003 13:41
Вопрос

Допустимо-ли переопределить method="post" в тэге <form runat="server"> следующим образом <form method="get" runat="server">?

Ответ

Да, допустимо.
 
 
Chavo
Сообщений: 79 Регистрация: 20.02.2003
#11
05.06.2003 13:42
Вопрос

Допускается в ASPX файлах использовать несколько форм помеченных как runat="server"?

Ответ

Нет, не допускается.
 
 
Chavo
Сообщений: 79 Регистрация: 20.02.2003
#12
05.06.2003 13:42
Вопрос

Каким образом просмотреть код, получаемый ASP.NET из файла ASPX?

Ответ

Необходимо разрешить отладку директивой <%@ Page Debug="true" %> в файле ASPX. Или выражением <compilation debug="true"> в файле Web.config. Затем, следует искать сформированные файлы CS или VB в подкаталогах "\%SystemRoot%\Microsoft.NET\Framework\v1.0.nnnn\T­emporary ASP.NET Files".
 
 
Chavo
Сообщений: 79 Регистрация: 20.02.2003
#13
05.06.2003 13:43
Вопрос

Поддерживается-ли в ASP.NET server-side includes (SSI)?

Ответ

Да, SSI работает в ASP.NET так-же как и в ASP.
 
 
Chavo
Сообщений: 79 Регистрация: 20.02.2003
#14
05.06.2003 13:43
Вопрос

Поддерживается-ли в ASP.NET тэги server-side objects?

Ответ

Да. Ниже приводится пример тэга, создающего экземпляр некоего класса ShoppingCart.
<object 
	id="MyShoppingCart" 
	class="ShoppingCart" 
	scope="session" 
	runat="server" 
/>


Безопасные (managed) типы идентифицируются по имени класса, небезопасные (unmanaged) типы (COM classes) идентифицируются по CLSID или ProgID.
 
 
Chavo
Сообщений: 79 Регистрация: 20.02.2003
#15
05.06.2003 13:45
Вопрос

Дайте пример использования комментариев в файле ASPX.

Ответ

<%--
	<asp:Button 
		Text="Click Me" 
		OnClick="OnClick" 
		runat="server" 
	/>
--%>
 
 
Chavo
Сообщений: 79 Регистрация: 20.02.2003
#16
05.06.2003 13:46
Вопрос

Как, при загрузке страницы, в поля ввода на странице помещать значения из cookies.

Ответ

Делайте это в обработчике события Page_Init или проверяйте на IsPostBack, например:
if(!Page.IsPostBack)
{
	//здесь  процедура заполнения  из
	//cookies, которая выполнится только
	//при первом заходе на страницу
}
 
 
Chavo
Сообщений: 79 Регистрация: 20.02.2003
#17
05.06.2003 13:46
Вопрос

Как отобразить картинку, если она сохранена в БД?

Ответ

СТАТЬЯ

http://www.aspnetmania.com/PrintArtic...icle_id=20
ВАРИАНТ
Вот как эта задача решена в Community Starter Kit:
private 
void DisplayCommunityImage(HttpContext context, string fileName) { 
	SqlDataReader dr; 
	dr = ImageUtility.GetCommunityImage(fileName); 
	if(dr.Read()) 
	{
SqlBinary buffer= (byte[])dr["Image_imageData"]; 
		context.Response.ContentType =
	dr["Image_contenttype"].ToString();
context.Response.BinaryWrite((byte[])buffer ); 
} 


GetCommunityImage возвращает SqlDataReader для заданного имени картинки. Изучите классы ASPNET.StarterKit.Communities.ImageHandler и ASPNET.StarterKit.Communities.ImageUtility из русифицированного Community Starter Kit.
 
 
Chavo
Сообщений: 79 Регистрация: 20.02.2003
#18
05.06.2003 13:48
Вопрос

Я отображаю в DataGrid данные из таблицы БД. Под ним еще один, отображаюший информацию из другой таблицы. Нужно менять координаты второго, если высота первого меняется.

Ответ

Можно в дизайнере форм устаногвить свойство pageLayout=FlowLayout ? тогда все контролы добавятся без абослютных координат и браузер расположит их один за другим
можно в page_load событии пересчитывать координаты
 
 
Chavo
Сообщений: 79 Регистрация: 20.02.2003
#19
05.06.2003 13:49
Вопрос

DataGrid. А что почитать, для начала, о DataGrid ?

Ответ

Часто задаваемые вопросы о серверном Web-элементе управления DataGrid
http://www.gotdotnet.ru/LearnDotNet/ASPNET/684.asp­x
А эта статья рассказывает о создании наследника элемента DataGrid, позволяющегодостаточно свободноуправлять тем, каким образом будет выводиться этот DataGrid на страницу.

http://www.gotdotnet.ru/LearnDotNet/ASPNET/687.asp­x
 
 
Chavo
Сообщений: 79 Регистрация: 20.02.2003
#20
05.06.2003 13:49
Вопрос

Допустим в каждой строке DataList я вывожу столбец с количеством знаков в документе Qty из таблицы Documents базы данных. Теперь я хочу подсчитать суммарное количество знаков во всех документах и вывести его в Footer Item. Как мне это сделать?

Ответ

Дело в том, что свойство DataItem элемента каждой строки, к которому обращается код <%# DataBinder.Eval(Container, "DataItem.Qty") %> содрежит данные только в момент создания строки, и очищается сразу же по его окончанию, так что воспользоваться коллекцией DataList.Items, с помощью которого можно обратиться к элементам строк, в этих целях не удастся. Можно поступить следующим способом:

1. Объявить public property SumQty в коде класса стриницы и соответствующее ей поле sumQty:
public int SumQty {
	get{return sumQty;}
}

private int sumQty;
В коде класса страницы, перед подключением DataList к данным подсчитать sumQty сделав запрос к источнику данных

Либо:

2. Подключить обработчик события DataList.ItemDatabound. Это событие возникает для каждого элемента DataList перед тем, как очистить его свойство DataItem. В обработчике можно воспользоваться DataItem, чтобы получить значение Qty для каждой строки и накапливать их в sumQty

Теперь в HTML коде стрницы в элементе FooterTemplate можно обратиться к полученному свойству с помощью <%# DataBinder.Eval(Page, "SumQty") %>
 
 
Chavo
Сообщений: 79 Регистрация: 20.02.2003
#21
05.06.2003 13:50
Вопрос

Часто встречается код вида <%# DataBinder.Eval(Container.DataItem, "Price", "{0:c}") %>. Что такое Container и какие еще свойства я могу использовать?

Ответ

Container содержит экземпляр класса, который был указан в аттрибуте TemplateContainerAttribute в объявлении шаблона. В случае с DataList – это класс DataListItem (аналогично DataGridItem, RepeaterItem).
В первом параметре Eval должен быть указан объект, в контексте класса, унаследованного от класса вашей страницы (данный класс создается автоматически кодом ASP.NET в процессе выполнения страницы), либо вызываться метод данного объекта.
Во втором параметре должна быть указана строка с именем public свойства, значение которой вы хотите получить, либо с последовательным обращением к нескольким свойствам.
Во втором параметре не может быть использован вызовов методов, или обращение к полям (не свойствам). Индексатор в .NET является свойством и к нему здесь допустимо обращаться.

Ссылка по теме.
 
 
Chavo
Сообщений: 79 Регистрация: 20.02.2003
#22
05.06.2003 13:50
Вопрос

Как определить физический путь на сервере к моим файлам?

Ответ

Server.MapPath("")
 
 
Chavo
Сообщений: 79 Регистрация: 20.02.2003
#23
05.06.2003 13:51
Вопрос

Использование в html-коде страницы <%...%> с обращениями к свойствам и методам объявленным в моем namespace но в других классах приводит к ошибке: Compiler Error Message CS0246...

Ответ

по умолчанию в HTML коде доступны следующие namespace:
System 
System.Collections 
System.Collections.Specialized 
System.Configuration 
System.Text 
System.Text.RegularExpressions 
System.Web 
System.Web.Caching 
System.Web.Security 
System.Web.SessionState 
System.Web.UI 
System.Web.UI.HtmlControls 
System.Web.UI.WebControls


Для добавления своих используйте дерективу
<%@ Import namespace="value" %>
 
 
Chavo
Сообщений: 79 Регистрация: 20.02.2003
#24
05.06.2003 13:51
Вопрос

Не отображаются серверные элементы управления на моей странице.

Ответ

Возможно у вас не зарегистрирован правильно ASP.NET сервис. Проблема часто возникает если сначала установить VS.NET или .NET FrameWork, а затем установить IIS. Решается проблема запуском aspnet_regiis.exe –i

Программа aspnet_regiis.exe может быть найдена по следующему пути:
"%SystemRoot%\Microsoft.NET\Framework\v1.1.4322\" ( учитывайте, что в пути фигурирует версия установленного Framework-а )
 
 
Chavo
Сообщений: 79 Регистрация: 20.02.2003
#25
05.06.2003 13:52
Вопрос

Как сделать так, чтобы у всех страниц был свой header и свой footer. Так, чтобы не пришлось менять все страницы.

Ответ

Создаем в приложении класс реализующий интерфейс IHttpModule
//  метод интерфейса Init
public void Init(HttpApplication app) 
{ 

//  обработчик события на начало загрузки
		app.BeginRequest += new System.EventHandler(this.Header); 

//  обработчик события на конец загрузки
		app.EndRequest += new System.EventHandler(this.Footer); 

} 

private void Header(object sender, System.EventArgs e) 
{ 

//  реализация обработчиков
		HttpApplication app = (HttpApplication) sender; 
		app.Server.Execute( "/bw/include/header.aspx" ); 
} 

private void Footer(object sender, System.EventArgs e) 
{ 

//  реализация обработчиков
		HttpApplication app = (HttpApplication) sender; 
		app.Server.Execute( "/bw/include/footer.aspx" ); 

} 
Далее, в web.config указать после system.web:
<add type="NameSpace.LoaderClassName,ApplicationName" name="MyLoader" /> 

Данный метод в настоящее время устарел.

В ASP.NET 2 нужно пользоваться MasterPage!
 
 
 
Страницы: 1 2 3 След.
Форумы GotDotNet.Ru » ASP.NET » FAQ по форуму ASP.NET
О сайте   Свяжитесь с нами   Конфиденциальность   Версия для печати
Работает на 1С-Битрикс: Управление сайтом ASP.NET  |  Хостинг на Parking.Ru