2009-10-14 2 views
1

У меня есть четыре радиокнопки внутри элемента управления повторителя, который сам по себе находится внутри панели обновлениярадиокнопку проверяется статус на жереха: LinkButton постбэка

// код что-то вроде этого

`<asp:update panel ..> 
... 
<asp:Repeater> 
.. 
<asp:checkbox> 
.. 
.. 
</asp:update panel ..> 
<asp:LinkButton ID="next2" runat="server" CssClass="button_Submit" Font-Bold="true" OnClick="next_ServerClick" Text="Submit"> 
<asp:ImageButton ID="next" ImageUrl="~/images/newSummary.jpg" runat="server" OnClick="next_ServerClick" ImageAlign="Middle"/> 
protected void next_ServerClick(object sender, EventArgs e) 
{ 
foreach (System.Web.UI.WebControls.RepeaterItem Item in repeatercontrol.Items) 
{ 
    chkbox = ((CheckBox)Item.FindControl(chkboxName)); 
    if (chkbox.checked) 
    { 
    ... 
    } 
} 
}` 

я выбираю один из флажки, и когда я нажимаю кнопку изображения, я могу получить правильный статус (checked = true).

Но когда я использую кнопку ссылки, она всегда идет как checked = false, как если бы выбор не регистрировался.

Любые идеи о том, почему это происходит?

+0

Вы можете разместить свой код, за которой вы делаете это проверку как ImageButton и LinkButton? –

+0

Я просил код вокруг проверки цикла. т.е. события для ImageButton и LinkButton. –

+0

Не знаете, о чем вы спрашиваете. Вы спрашиваете abt обработчика событий для события onclick. protected void linkButton_Click (отправитель объекта, EventArgs e) { // код выше } – jbagavathi

ответ

0

Вам необходимо зарегистрировать событие clickbutton click в качестве триггера на панели обновления. Смотрите пример ниже:

<asp:UpdatePanel ID="UpdatePanel1" runat="server" > 
    <ContentTemplate> 

     ... 

    </ContentTemplate> 

    <Triggers> 

     <asp:AsyncPostBackTrigger ControlID="LinkButtonID" EventName="Click" /> 

    </Triggers> 

</asp:UpdatePanel> 
+0

Я попробовал ваше предложение, и оно все еще не работает. Как я уже упоминал, я могу получить значение, когда я использую кнопку Image (и она не добавляется как триггер). – jbagavathi

0

Не видя кода, единственная причина, по которой управление было бы неправильно, если вы проверяете их в Page Life Cycle перед загрузкой ViewState.

EDIT: Используйте декларации отдельных событий и централизовать логику подстановки:

protected void LinkButton1_Click(object sender, EventArgs e) 
    { 

    } 
    protected void ImageButton1_Click(object sender, ImageClickEventArgs e) 
    { 

    } 
+0

Я проверяю значения в обработчике событий onclick для кнопок. Итак, Viewstate должен был быть загружен к тому времени, правильно? – jbagavathi

+0

Да, он должен быть там в этих событиях. –

+0

Я знаю, что я продолжаю спрашивать, но было бы полезно посмотреть, как вы объявляете эти события и фактический код. Такие вещи, как это, как правило, являются простым надзором. –

Смежные вопросы