questionário on-line utilizando ASP Dot Net
-
19-09-2019 - |
Pergunta
Hii,
Eu preciso desenvolver um site questionário on-line que seria ter MCQs. Eu gostaria de ter uma pergunta que aparece por página com uma Numérico Pager para que o usuário pode ir para trás e para frente.
Eu tentei usar o FormView para exibir as perguntas e RadioButtons. Eu criei um QANS classe que prendem a resposta selecionada pelo usuário para as perguntas que ele fez resposta para que eu possa depois resumir a pontuação total.
Agora, o problema que estou enfrentando é como abaixo:
permite ao usuário selecionar um RadioButton, dizem R, em um PageIndex, digamos que eu, e depois ir para outra página, diz K. Quando o usuário retorna para a página I, nenhum dos RadioButtons é selecionado. Eu tentei adicionar código para definir a propriedade verificado do RadioButton verdadeiro no Page_Load (), mas isso não ajuda. Eu também tentei o mesmo com o evento PageIndexChanged e PageIndexChanging, mas o RadioButton não ficar marcada.
O RadioButton que foi selecionado para uma determinada questão tenha sido armazenado e eu sou capaz de imprimir qual deles estava usando Response.Write (), mas eu não sou capaz de manter o RadioButton verificado. Como se fará isso?
Solução
Você deve ser capaz de fazer o botão de opção marcada no
protected override void OnPreRender(EventArgs e)
evento do ciclo de vida página
Outras dicas
Você considerou usando o controle assistente .Net para isso? O Controlo Assistente ASP.Net 2.0
Você pode salvar o estado dos controles selecionados na sessão e repovoar-los após a viagem de volta.
É estranho que ele está perdendo estado após a postagem. Existe algum código de louco em você on_load ou PageIndexChanging ou qualquer coisa?
Pelo que eu entendo, você tem que persistir o estado verificado do radiobutton através das pageindexes. Você pode usar ViewState para que, como que pode preservar dados através de postagens de uma página.
algo assim: -
// Definir uma lista de perguntas ids tentada Lista questionIdsAttempted;
// Adicionar a lista até o ViewState if (ViewState [ "QuestionIdsAttempted"]! = null) { questionIdsAttempted = new List () ViewState [ "QuestionIdsAttempted"] = questionIdsAttempted }
// Adicione o ID de pergunta à lista quando quando o usuário tenta uma pergunta questionIdsAttempted.Add (QID);
// Adicionar a lista de volta para o viewstate ViewState [ "QuestionIdsAttempted"] = questionIdsAttempted
E no carregamento da página no atributo checked dos radiobuttons, você pode chamar uma função com o atual id questão e a função irá obter a lista do viewstate e retorna verdadeiro ou falso baseado em se o id existe na lista.
Claro, você precisa verificar a condição de nulidade do viewstate em vários lugares com base no fluxo do programa.
Deixe-me saber