Несколько доменов, то же веб-приложение на IIS 6

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

  • Определите BindingList или List в качестве объекта хранения данных (я предпочитаю BindinList, но здесь IList будет выполнять эту работу в любом случае) . [тысяча сто двадцать восемь]
  • Определите BindingSource , который будет предоставлять уведомления об изменениях и управление валютой. Это значительно упрощает привязку элементов управления в WinForms.

  • Установите свойство BindingSource.DataSource для объекта, который предоставляет данные: здесь, BindingList или [ 115] [одна тысяча сто сорок два].

  • Добавьте Binding к свойству TextBox.Text , которое будет связано со свойством источника данных (или, например, столбца таблицы данных), установив [ 1121] DataSource значение Binding для BindingSource и значение DataMember для свойства (или столбца) источника данных, для которого свойство TextBox является связанным. Здесь свойство Id класса Inputs .
  • Подпишитесь на событие Parse TextBox Binding , чтобы выделить средства для проверки данных, введенных в TextBox, перед разрешением обновления источника данных. Если введенное значение не соответствует описанию (т. Е. Пользователь вводит буквы вместо цифр), мы можем вызвать, например, метод BindingSource.ResetCurrentItem , чтобы отменить обновление данных
  • [1133 ] Установите для DataGridView.DataSource значение BindingSource.

Вот что происходит, используя код, показанный здесь:

DataBindings BindingSource [1124]

Примечание :
Я использую лямбду здесь, чтобы подписаться на событие Parse ; Вы можете захотеть использовать отдельный обработчик, если вам нужно подписаться / отписаться на это событие более одного раза.

internal class Inputs
{
    public int Id { get; set; }
    public string Name { get; set; }
}

internal List InputData = new List();
internal BindingSource bindingSource;

private void button1_Click(object sender, EventArgs e)
{
    bindingSource = new BindingSource();

    InputData.AddRange(new [] { 
        new Inputs() { Id = 5476, Name = "Smith" },
        new Inputs() { Id = 5477, Name = "Marlin" }
    });

    bindingSource.DataSource = InputData;

    Binding tboxBind = new Binding("Text", bindingSource, "Id", false, DataSourceUpdateMode.OnPropertyChanged);

    tboxBind.Parse += (pObj, pEvt) =>
    {
        if (!int.TryParse(pEvt.Value.ToString(), out int value))
            bindingSource.ResetCurrentItem();
    };
    textBox1.DataBindings.Add(tboxBind);
    dataGridView1.DataSource = bindingSource;
}

5
задан Pittsburgh DBA 7 November 2008 в 18:41
поделиться

5 ответов

+1 к rhinof для добавления нескольких идентификационных данных, но создания HttpModule закончено уничтожения. Можно просто переключить URL тега в Ведущем устройстве Page путем исследования содержания Запроса. Заголовки ["ХОСТ"]

7
ответ дан 13 December 2019 в 05:44
поделиться

1) добавьте желаемые доменные имена как идентификаторы веб-сайта на странице расширенного свойства Вкладки веб-сайта.

2) отобразите .css расширение aspnet_isapi.dll

3) запишите httpmodule, который будет запись ре URL для запросов .css на основе доменного имени

4) включите свой модуль через web.config

2
ответ дан 13 December 2019 в 05:44
поделиться

При использовании тем можно изменить тему, таким образом, изменив CSS, и т.д. на Странице. PreInit в зависимости от значения домена в Запросе. ServerVariables ["URL"] (примечание, могла бы быть лучшая серверная переменная, чтобы получить доменное имя, искать его).

Если Вы не используете темы, можно программно выгрузить файл CSS путем проверки той же серверной переменной.

MasterPages будут Вашим другом здесь.

Надеюсь, что пихает Вас в правильном направлении. Это возможно и распространено.

1
ответ дан 13 December 2019 в 05:44
поделиться

Да, это должно быть просто сделать. Я пошел бы с подходом отображения доменных имен к Вашему приложению с помощью заголовков хоста в IIS. Затем как Martin сказал, Запрос опроса. Заголовки ["ХОСТ"] в Вашем приложении для переключения таблицы стилей.

1
ответ дан 13 December 2019 в 05:44
поделиться

Если Вы собираетесь иметь другое базовое содержание на сайтах затем, я предлагаю включить глобальный идентификатор для отслеживания, которые располагают пользователя, идет и помещает данные в DB где-нибудь для ссылки против того идентификатора. Это - безусловно самый легкий способ расширить приложение, если каждый экземпляр уникален.

Можно поместить это в класс и иметь один общий шаблон для выяснения, где материал должен отобразиться на. Я предполагаю, что, после того как Вы знаете, что отображение кэширует это и затем Вы сможете сделать то, что Вы хотите без задержки тысячи приложений или вызовов дб.

Необходимо будет также добавить этот параметр на любых общих вызовах DB так, чтобы Вы только получили результаты для домена, который размещается. У меня есть немного опыта с этим, поэтому просто оставляют некоторые комментарии, если Вы хотите видеть некоторые определенные примеры кодирования.

Можно применить эту технику к любому файлу, таблице стилей CSS или объекту для ссылки на цели.

1
ответ дан 13 December 2019 в 05:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: