Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка под ASP.NET > Проблема с RadioButton


Автор: Vitaly333 20.11.2008, 00:29
Есть два переключателя и Лайбл. Нужно сделать так чтобы когда выбран 1-ый переключатель в лейбле цифра 1 , когда выбран 2-ой в лейбле цифра - 2. 

Код дизайна:

Код

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <p><asp:RadioButton ID="RadioButton1" runat="server" AutoPostBack="True" GroupName="r1" OnCheckedChanged="RadioButton1_CheckedChanged" /></p>
        <p><asp:RadioButton ID="RadioButton2" runat="server" AutoPostBack="True" GroupName="r1" OnCheckedChanged="RadioButton2_CheckedChanged" /></p>
        <p><asp:Label ID="Label1" runat="server" Text="Label"></asp:Label></p>
        </div>       
    </form>
</body>
</html>


Код логики:

Код

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class _Default : System.Web.UI.Page 
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void RadioButton1_CheckedChanged(object sender, EventArgs e)
    {

         Label1.Text = "1";

    }
    protected void RadioButton2_CheckedChanged(object sender, EventArgs e)
    {
         Label1.Text = "2";
    }
}


 При запуске Web приложения (запускаю на локали) и переключении Radiobutton - ов не работает и всё (не появляются цифры 1 и 2 в Label-е)! Для Radiobutton специально прописывался Постбэк (AutoPostBack = true), но результата нет.

Автор: Idsa 20.11.2008, 06:22
Vitaly333, код должен работать. Может, у Вас JavaScript откючен, поэтому PostBack через AutoPostBack не выполняется?
Поставьте breakpoint в методах-обработчиках, чтобы понять, происходит ли вообще PostBack.

Автор: Vitaly333 20.11.2008, 15:09
Цитата

Vitaly333, код должен работать. Может, у Вас JavaScript откючен, поэтому PostBack через AutoPostBack не выполняется?
Поставьте breakpoint в методах-обработчиках, чтобы понять, происходит ли вообще PostBack.

В IE JavaScript вроде включен (В свойствах безопастности браузера стоит Активные сценарии -> разрешить).
Поставил точку. При отладке процесс до неё не доходит а браузер выплевывает ошибку "Ошибка выполнения Microsoft JScript: Предполагается наличие объекта". Может попробовать в другом браузере (Opera или Mozilla), но как студии сообщить чтобы она запускала веб приложние в другом браузере?

Кстати пробывал чтобы всю процедуру делала кнопка (для неё ведь Постбэк включен автоматически) , при этом отключив постбэк  у всех остальных элементов управления - все работает!  

Автор: Idsa 20.11.2008, 15:15
Цитата(Vitaly333 @  20.11.2008,  19:09 Найти цитируемый пост)
Кстати пробывал чтобы всю процедуру делала кнопка (для неё ведь Постбэк включен автоматически) , при этом отключив постбэк  у всех остальных элементов управления - все работает!   

Значит дело точно в JS.

Цитата(Vitaly333 @  20.11.2008,  19:09 Найти цитируемый пост)
При отладке процесс до неё не доходит а браузер выплевывает ошибку "Ошибка выполнения Microsoft JScript: Предполагается наличие объекта".

К странице точно больше никакой JS не цепляется?

Цитата(Vitaly333 @  20.11.2008,  19:09 Найти цитируемый пост)
Может попробовать в другом браузере (Opera или Mozilla), но как студии сообщить чтобы она запускала веб приложние в другом браузере?

Я как раз в FireFox и смотрел.
Чтобы изменить браузер по умолчанию для Студии нужно в SolutionExplorer правой кнопкой щелкнуть по странице -> выбрать Browse with -> в списке выбрать браузер и нажать Set as Default.

Автор: Vitaly333 20.11.2008, 18:19
Попробовал запустить в  Oper-e и Firefox - работает! А в IE нет!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)