Если я не могу использовать C# для ответа в режиме реального времени на события переключателя CheckedChanged в Sharepoint, как я могу добавить для этого код на стороне клиента (jQuery)?

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

Я действительно застрял в ожидании отправки формы до того, как это событие сработает, или я могу добавить код на стороне клиента (jQuery) для его обработки? Если да, то как? Как я могу смешать код клиента jQuery с кодом сервера C# в проекте Sharepoint (2010)?

Теперь я хочу иметь возможность динамически изменять элементы управления на странице в зависимости от решений, принятых пользователем (если они выбирают этот переключатель, к конкретному текстовому полю применяется этот набор свойств, и если другой переключатель, другой набор свойств). Это возможно?

ОБНОВИТЬ

Я создаю элементы управления и добавляю к ним события CheckedChanged следующим образом:

rbUSCitizenOrPermResY = new RadioButton
{
    CssClass = "finaff-webform-field-input"//,
    //CheckedChanged += new EventHandler(rbUSCitizenOrPermResY_Changed) <= the name 'CheckedChanged' does not exist in the current context
};
rbUSCitizenOrPermResY.CheckedChanged += new EventHandler(rbUSCitizenOrPermResY_Changed);
cellRadioButton1_1.Controls.Add(rbUSCitizenOrPermResY);

Кнопка Сохранить выглядит так:

Button btnSave = new Button();
btnSave.Text = "Save";
btnSave.Click += new EventHandler(btnSave_Click);
this.Controls.Add(btnSave);


    . . .

private void btnSave_Click(object sender, EventArgs e)
{
    LiteralControl message = null;
    try
    {
        message = new LiteralControl();
        Controls.Add(message);
        ConditionallyCreateList();
        SaveInputToList();
        List<ListColumns> listOfListItems = ReadFromList();
        GeneratePDF(listOfListItems);
        message.Text = "Saving the data and converting it to a PDF has been successful";
    }
    catch (Exception ex)
    {
        message.Text = String.Format("Exception occurred: {0}", ex.Message);
    }
}

Что особенного в кнопке «Сохранить», которая срабатывает сразу при нажатии, но событие CheckedChanged RadioButton не срабатывает (сразу)?

ОБНОВЛЕНИЕ 2

Это говорит: "...Элемент управления UpdatePanel .. . по умолчанию этот элемент управления не работает с этими стандартными компонентами SharePoint..."

Так что это звучит так, как если бы вы пытались втиснуть ногу дровосека в детскую добычу.

Каков же предпочтительный способ обновления компонентов Sharepoint?

ОБНОВЛЕНИЕ 3

Теоретически, возможно, это сработает:

UpdatePanel up = new UpdatePanel();
up.Controls.Add(dynamicTable); // or just add the radio buttons, rather than the entire HtmlTable?
ScriptManager sm = new ScriptManager();
sm.EnablePartialRendering = true;

... Я узнаю, я думаю ...


person B. Clay Shannon    schedule 28.05.2015    source источник
comment
Сейчас возможно самое время прочитать о Панель обновления. Я не его поклонник, но это вполне удовлетворило бы этому требованию. Он также не требует никакого JavaScript.   -  person Der Kommissar    schedule 28.05.2015
comment
Я собираюсь прочитать это, но сначала: почему вы не его поклонник? По шкале от -1 до 17, каков его фактор PITA (17 означает самую сильную боль в лодыжке)?   -  person B. Clay Shannon    schedule 28.05.2015
comment
Ответ на этот вопрос зависит от того, к кому относится фактор PITA. Для разработчиков это чрезвычайно легко, наверное, 2-3 балла по этой шкале. Для пользователей выполняется частичное обновление страницы. Так что это немного некрасиво. Это также приводит к тому, что браузер теряет любой фокус ввода в любых полях, затронутых обновлением. (Он обновляет часть страницы в UpdatePanel, так что, вероятно, 12-14.)   -  person Der Kommissar    schedule 28.05.2015
comment
Все мои элементы управления создаются динамически, поэтому, если я пойду по этому пути, я думаю, мне придется сначала добавить ScriptManager (Proxy) и UpdatePanel программно... Я создаю свои элементы управления программно, потому что я использую редактор WebPart, чтобы разрешить пользователь, чтобы определить, какие разделы страницы (и, следовательно, какие элементы управления) просматриваются/создаются.   -  person B. Clay Shannon    schedule 28.05.2015