It is finaly working!

This commit is contained in:
2025-01-06 22:32:08 +01:00
parent f2e44e0419
commit b8cee9a294
7 changed files with 1054 additions and 98 deletions

File diff suppressed because one or more lines are too long

210
HostQuiz.ipynb Normal file
View File

@ -0,0 +1,210 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" * Serving Flask app '__main__'\n",
" * Debug mode: off\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.\n",
" * Running on http://127.0.0.1:5000\n",
"Press CTRL+C to quit\n",
"127.0.0.1 - - [06/Jan/2025 22:27:18] \"GET / HTTP/1.1\" 200 -\n",
"127.0.0.1 - - [06/Jan/2025 22:27:37] \"POST /submit_answer HTTP/1.1\" 302 -\n",
"127.0.0.1 - - [06/Jan/2025 22:27:37] \"GET / HTTP/1.1\" 200 -\n",
"127.0.0.1 - - [06/Jan/2025 22:27:48] \"POST /submit_answer HTTP/1.1\" 302 -\n",
"127.0.0.1 - - [06/Jan/2025 22:27:48] \"GET / HTTP/1.1\" 200 -\n",
"127.0.0.1 - - [06/Jan/2025 22:28:15] \"POST /submit_answer HTTP/1.1\" 302 -\n",
"127.0.0.1 - - [06/Jan/2025 22:28:15] \"GET / HTTP/1.1\" 200 -\n",
"127.0.0.1 - - [06/Jan/2025 22:28:22] \"POST /submit_answer HTTP/1.1\" 302 -\n",
"127.0.0.1 - - [06/Jan/2025 22:28:22] \"GET / HTTP/1.1\" 200 -\n",
"127.0.0.1 - - [06/Jan/2025 22:28:39] \"POST /submit_answer HTTP/1.1\" 302 -\n",
"127.0.0.1 - - [06/Jan/2025 22:28:39] \"GET / HTTP/1.1\" 200 -\n",
"127.0.0.1 - - [06/Jan/2025 22:28:51] \"POST /submit_answer HTTP/1.1\" 302 -\n",
"127.0.0.1 - - [06/Jan/2025 22:28:52] \"GET / HTTP/1.1\" 200 -\n",
"127.0.0.1 - - [06/Jan/2025 22:29:04] \"POST /submit_answer HTTP/1.1\" 302 -\n",
"127.0.0.1 - - [06/Jan/2025 22:29:04] \"GET / HTTP/1.1\" 200 -\n",
"127.0.0.1 - - [06/Jan/2025 22:29:08] \"POST /submit_answer HTTP/1.1\" 302 -\n",
"127.0.0.1 - - [06/Jan/2025 22:29:08] \"GET / HTTP/1.1\" 200 -\n",
"127.0.0.1 - - [06/Jan/2025 22:29:22] \"POST /submit_answer HTTP/1.1\" 302 -\n",
"127.0.0.1 - - [06/Jan/2025 22:29:22] \"GET / HTTP/1.1\" 200 -\n",
"127.0.0.1 - - [06/Jan/2025 22:29:38] \"POST /submit_answer HTTP/1.1\" 302 -\n",
"127.0.0.1 - - [06/Jan/2025 22:29:38] \"GET / HTTP/1.1\" 302 -\n",
"127.0.0.1 - - [06/Jan/2025 22:29:38] \"GET /result HTTP/1.1\" 200 -\n",
"127.0.0.1 - - [06/Jan/2025 22:30:14] \"GET /restart HTTP/1.1\" 302 -\n",
"127.0.0.1 - - [06/Jan/2025 22:30:14] \"GET / HTTP/1.1\" 200 -\n"
]
}
],
"source": [
"from flask import Flask, render_template, request, redirect, url_for, session\n",
"import random\n",
"\n",
"app = Flask(__name__)\n",
"app.secret_key = 'your_secret_key' # You must have a secret key for sessions to work\n",
"\n",
"# Function to parse the questions from the file\n",
"def parse_questions(file_path, file_path2):\n",
" with open(file_path, 'r', encoding='utf-8') as file:\n",
" content = file.read().split(\"\\n\\n\") # Split content by empty lines between questions\n",
"\n",
" with open(file_path2, 'r', encoding='utf-8') as file:\n",
" content = file.read().split(\"\\n\\n\") # Split content by empty lines between questions\n",
"\n",
"\n",
" questions = []\n",
"\n",
" for block in content:\n",
" lines = block.strip().split(\"\\n\")\n",
" question = lines[0].replace(\"Kérdés: \", \"\").strip() # Remove 'Kérdés:' from the start\n",
" answers = []\n",
" correct_answers = []\n",
"\n",
" # Parse the answers and separate correct answers (those starting with '!')\n",
" for line in lines[1:]:\n",
" answer = line.strip()\n",
" if answer.startswith('!'):\n",
" correct_answers.append(answer[1:].strip()) # Remove the '!' and save the correct answer\n",
" else:\n",
" answers.append(answer)\n",
"\n",
" # Add the parsed question, answers, and correct answers to the list\n",
" questions.append({\n",
" 'question': question,\n",
" 'answers': answers + correct_answers, # Append correct answers at the end\n",
" 'correct_answers': correct_answers\n",
" })\n",
"\n",
" return questions\n",
"\n",
"# Parse questions from the file\n",
"questions = parse_questions('kerdessor1.txt', 'kerdessor2.txt')\n",
"\n",
"@app.route('/')\n",
"def index():\n",
" # Initialize the quiz session\n",
" if 'selected_questions' not in session:\n",
" selected_questions = random.sample(questions, 10)\n",
" session['selected_questions'] = selected_questions\n",
" session['question_index'] = 0\n",
" session['answers'] = [] # Clear answers to start fresh\n",
"\n",
" else:\n",
" selected_questions = session['selected_questions']\n",
"\n",
" question_index = session.get('question_index', 0)\n",
"\n",
" # If all questions are answered, redirect to the results page\n",
" if question_index >= len(selected_questions):\n",
" return redirect(url_for('result'))\n",
"\n",
" # Get the current question\n",
" current_question = selected_questions[question_index]\n",
"\n",
" # Shuffle the answers to randomize their order\n",
" random.shuffle(current_question['answers'])\n",
"\n",
" return render_template('quiz.html', question=current_question, question_index=question_index)\n",
"\n",
"@app.route('/submit_answer', methods=['POST'])\n",
"def submit_answer():\n",
" # Get the user's answer and the current question index\n",
" user_answers = request.form.getlist('answer') # Use getlist for checkboxes (multiple answers)\n",
" question_index = int(request.form.get('question_index'))\n",
" \n",
" # Store the answer in the session\n",
" answers = session.get('answers', [])\n",
" answers.append(user_answers)\n",
" session['answers'] = answers\n",
"\n",
" # Move to the next question\n",
" question_index += 1\n",
" session['question_index'] = question_index\n",
" \n",
" return redirect(url_for('index'))\n",
"\n",
"\n",
"@app.route('/result')\n",
"def result():\n",
" # Ensure 'selected_questions' exists in the session\n",
" selected_questions = session.get('selected_questions', None)\n",
" answers = session.get('answers', None)\n",
"\n",
" if not selected_questions or not answers:\n",
" return redirect(url_for('index')) # Redirect back to the quiz if selected_questions or answers are missing\n",
"\n",
" # Calculate the score and track mistakes\n",
" score = 0\n",
" mistakes = []\n",
"\n",
" for i, user_answer in enumerate(answers):\n",
" correct_answers = selected_questions[i]['correct_answers']\n",
" \n",
" # Check if the selected answers exactly match the correct answers (order doesn't matter)\n",
" if set(user_answer) == set(correct_answers):\n",
" score += 1\n",
" else:\n",
" mistakes.append({\n",
" 'question': selected_questions[i]['question'],\n",
" 'correct_answer': correct_answers,\n",
" 'user_answer': user_answer\n",
" })\n",
"\n",
" # Prepare zipped data to pass to the template (question, user answer pair)\n",
" questions_with_answers = zip(selected_questions, answers)\n",
"\n",
" # Reset session data so the user can restart the quiz or continue\n",
" session.pop('question_index', None) # Clear the current question index\n",
" session.pop('answers', None) # Clear stored answers\n",
" session.pop('selected_questions', None) # Clear selected questions\n",
"\n",
" return render_template('result.html', score=score, total=len(selected_questions), mistakes=mistakes, questions_with_answers=questions_with_answers)\n",
"\n",
"\n",
"@app.route('/restart')\n",
"def restart():\n",
" # Clear session data to restart the quiz\n",
" session.pop('question_index', None)\n",
" session.pop('answers', None)\n",
" session.pop('selected_questions', None)\n",
" \n",
" return redirect(url_for('index')) # Redirect to start the quiz again\n",
"\n",
"if __name__ == '__main__':\n",
" app.run()\n"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "venv",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.13.0"
}
},
"nbformat": 4,
"nbformat_minor": 2
}

129
kerdessor1.txt Normal file
View File

@ -0,0 +1,129 @@
Kérdés: Miért van külön Web.Debug.config és Web.Release.config fájl a webalkalmazásban?
Azért, mert így külön definiálhatóak beállítások éles és demo környezetekhez.
!Azért, mert így külön definiálhatóak beállítások a Solution Configuration alatt választható build típusokhoz.
Azért, mert így külön definiálhatóak változtatható a kinézet éles és demo környezetek között.
Kérdés: Web alkalmazásban adatbáziskapcsolat adatai hol tárolhatóak?
ConfigurationSettings.cs fájlban
!Web.config fájlban
Global.asax fájlban
Kérdés: Web alkalmazásban mit tartalmaz a Global.asax.cs fájl?
!Az egész alkalmazás működését érintő események bekövetkezésekor végrehajtandó kódot.
Az egész alkalmazásból elérhető metódusokat.
Globális változók definíciója
Kérdés: Web alkalmazásban mi a különbség valami.aspx, valami.aspx.cs és valami.aspx.designer.cs fájlok tartalma között?
!Az aspx tartalmazza a vezérlőelemek elhelyezkedését, típusát és alapvelő működését, az aspx.cs a hozzá tartozó code behind fájl (főként vezérlőelemek kezelésére vonatkozó kóddal), míg az aspx.designer.cs generált fájl, mely a vezérlők definícióját tartalmazza.
Az .cs tartalmazza a vezérlőelemek elhelyezkedését, típusát és alapvelő működését, az aspx.designer.cs a hozzá tartozó code behind fájl (főként vezérlőelemek kezelésére vonatkozó kóddal), míg az aspx.cs generált fájl, mely a vezérlők definícióját tartalmazza.
Az aspx.designer.cs tartalmazza a vezérlőelemek elhelyezkedését, típusát és alapvelő működését, az aspx.cs a hozzá tartozó code behind fájl (főként vezérlőelemek kezelésére vonatkozó kóddal), míg az aspx generált fájl, mely a vezérlők definícióját tartalmazza.
Kérdés: Web alkalmazásban mit tartalmaz a Site.master fájl?
Az oldal kerete, kinézete és működése, melyet az .cs fájlok töltenek meg tartalommal
!Az oldal kerete, kinézete és működése, melyet az .aspx fájlok töltenek meg tartalommal
Az egész alkalmazás működését érintő események bekövetkezésekor végrehajtandó kódot.
Kérdés: Web alkalmazásban lehet-e több site.master fájl?
!Igen, lehet
Nem, nem lehet.
Kérdés: Web alkalmazásban egy aspx fájlban a <%: %> jel található, mit jelent?
A végleges, browsernek küldött html tartalom előállítása során c# nyelven kell értelmezni a jelek közötti részt.
!A végleges, browsernek küldött html tartalomban jelenjen meg a jelek között található kifejezés értéke.
Kérdés: Web alkalmazásban egy aspx fájlban a <% %> jel található, mit jelent?
!A végleges, browsernek küldött html tartalom előállítása során c# nyelven kell értelmezni a jelek közötti részt.
A végleges, browsernek küldött html tartalomban jelenjen meg a jelek között található kifejezés értéke.
Kérdés: Web alkalmazásban(Web forms) mit értünk a code behind fájl alatt?
!Azt a .aspx.cs fájlt, mely az aspx fájllal összhangban tartalmazza többek között az események kezelőit.
Azt a POCO .cs fájlt, mely az aspx fájllal összhangban tartalmazza többek között az események kezelőit.
Azt a .designer.cs fájlt, mely az aspx fájllal összhangban tartalmazza többek között az események kezelőit.
Kérdés: Web alkalmazásban (web forms) hogyan generáltatható egy vezérlőelem default eseménykezelője?
!Dupla kattintás a vezérlőelemen
!Properties panel, event gomb alapján a kiválasztott eseményen dupla kattintás
Tools menü, events… és ott kiválasztható add default
Kérdés: Web alkalmazásban (web forms) válassza ki, melyek a választható/használható vezérlő elemek?
Clock
!Button
!Textbox
!DropdownList
!Checkbox
Kérdés: Web alkalmazásban (Web forms) mit tudhatunk meg az IsPostBack tulajdonsából?
!Értéke hamis, ha ez az első oldalbetöltés.
Értéke hamis, ha az oldalbetöltés vezérlés hatására történt.
Kérdés: Web alkalmazásban DropdownList vezérlőhöz hogyan tudunk elemeket hozzáadni?
!Példány.Items kollekció manipulálásával
Példány.Selection kollekció manipulálásával
Példány.CustomElements kollekció manipulálásával
Kérdés: Web alkalmazásban (Web forms) egy Label típusú vezérlőelemen megjelenő szöveg melyik tulajdonsággal állítható be?
Példány.Label
Példány.Caption
!Példány.Text
Példány.ShowText()
Kérdés: Web alkalmazásban (Web forms) egy Textbox típusú vezérlőelembe user által írt szöveg melyik tulajdonsággal olvasható ki?
Példány.Label
Példány.Caption
!Példány.Text
Példány.ShowText()
Kérdés: Web alkalmazásban (Web forms) egy Textbox típusú melyik tulajdonsággal tiltható le (user nem szerkesztheti)?
Disabled tulajdonság true értékre állításával
!Enabled tulajdonság false értékre állításával
Visible tulajdonság false értékre állításával
Opacity tulajdonság 0 értékre állításával
Kérdés: Web alkalmazásban (web forms) egy TextBox típusú vezérlőben hogyan tudunk több sornyi szöveget megjeleníteni?
Nem lehetséges, alapvetően user input-ra való
Text tulajdonságba sortöréssel ellátott szöveget helyezünk, EnableMultiLine tulajdonságot true értékre állítva
!Text tulajdonságba sortöréssel ellátott szöveget helyezünk, TextMode tulajdonságot MultiLine értékre állítva
Kérdés: MVC projekt esetén tipikusan hova futnak be a browser kérései?
Controller osztályok ActionResult attribútummal ellátott metódusaihoz.
!Controller osztályok publikus metódusaihoz.
Manager osztályok publikus metódusaihoz.
Kérdés: Mi határozza meg, hogy a browser címsorában lévő uri hova mutat az alkalmazásban?
Controllerek publikus metódusaihoz futnak be.
!Routing szabályokkal kell megadni.
A Contextben kell megadni.
Kérdés: MVC projekt esetén tipikusan mit értünk ViewModel alatt?
!Egy View alapját szolgáltató osztály, mely tipikusan tartalmaz számított mezőket és lekérdezett értékeket.
Azon osztályok ezek, melyek az adatbázisban kerülnek perzisztálásra.
Egy View alapját szolgáltató osztály, mely tipikusan nem tartalmaz számított mezőket és lekérdezett értékeket.
Kérdés: Mire utal az MVC minta?
!Model-View-Controller
Model-ViewModel-Control
Kérdés: MVC Web alkalmazásban hogyan kerül egy View megjelenítésre?
A megadott URL egy HTML oldalra mutat, melyet a browser megjelenít, ez a View.
!A megadott URL egy Controller metódusra mutat, mely View-t adhat vissza.
ViewModel generálódik és jeleníti meg a browser.
Kérdés: MVC alkalmazás esetén mikor fog kiértékelődni a <%%> jelek közötti kifejezés?
Csak az első megjelenítés során
!Az oldal minden elkészítése során
Az oldal minden elkészítése során, ami nem IsPostBack
Kérdés: Web alkalmazásban (Web forms) tipikusan milyen típusú fájlok lehetnek az előre definiált Scripts mappában?
SQL script fájlok
!Javascript fájlok
.cs fájlok
Kérdés: Web alkalmazásban (Web forms) tipikusan milyen típusú fájlok lehetnek az előre definiált Styles mappában?
!CSS fájlok
Aspx fájlok
Ascx fájlok
Kérdés: Web alkalmazásban (Web forms) tipikusan milyen típusú fájlok lehetnek az előre definiált App_Data mappában?
Metadata fájlok (.cs)
!Helyi adatbázis fájlok
Konfigurációs fájlok

267
kerdessor2.txt Normal file
View File

@ -0,0 +1,267 @@
Kérdés: Miért van külön Web.Debug.config és Web.Release.config fájl a webalkalmazásban?
Azért, mert így külön definiálhatóak beállítások éles és demo környezetekhez.
!Azért, mert így külön definiálhatóak beállítások a SolutionConfiguration alatt választható build típusokhoz.
Azért, mert így külön definiálhatóak változtatható a kinézet éles és demo környezetek között.
Kérdés: Web alkalmazásban adatbáziskapcsolat adatai hol tárolhatóak?
ConfigurationSettings.cs fájlban
!Web.config fájlban
Global.asax fájlban
Kérdés: Web alkalmazásban mit tartalmaz a Global.asax.cs fájl?
!Az egész alkalmazás működését érintő események bekövetkezésekor végrehajtandó kódot.
Az egész alkalmazásból elérhető metódusokat.
Globális változók definíciója
Kérdés: Web alkalmazásban mi a különbség valami.aspx, valami.aspx.cs és valami.aspx.designer.cs fájlok tartalma között?
!Az aspx tartalmazza a vezérlőelemek elhelyezkedését, típusát és alapvető működését, az aspx.cs a hozzá tartozó codebehind fájl (főként vezérlőelemek kezelésére vonatkozó kóddal), míg az aspx.designer.cs generált fájl, mely a vezérlők definícióját tartalmazza.
Az .cs tartalmazza a vezérlőelemek elhelyezkedését, típusát és alapvető működését, az aspx.designer.cs a hozzá tartozó codebehind fájl (főként vezérlőelemek kezelésére vonatkozó kóddal), míg az aspx generált fájl, mely a vezérlők definícióját tartalmazza.
Az aspx.designer.cs tartalmazza a vezérlőelemek elhelyezkedését, típusát és alapvető működését, az aspx.cs a hozzá tartozó codebehind fájl (főként vezérlőelemek kezelésére vonatkozó kóddal), míg az aspx generált fájl, mely a vezérlők definícióját tartalmazza.
Kérdés: Web alkalmazásban mit tartalmaz a Site.master fájl?
Az oldal kerete, kinézete és működése, melyet az .cs fájlok töltenek meg tartalommal.
!Az oldal kerete, kinézete és működése, melyet az .aspx fájlok töltenek meg tartalommal.
Az egész alkalmazás működését érintő események bekövetkezésekor végrehajtandó kódot.
Az egész alkalmazásból elérhető metódusokat.
Globális változók definíciója.
Kérdés: Web alkalmazásban lehet-e több site.master fájl?
!Igen, lehet.
Nem, nem lehet.
Kérdés: Web alkalmazásban egy aspx fájlban a <%: %> jel található, mit jelent?
A végleges, browsernek küldött HTML tartalom előállítása során C# nyelven kell értelmezni a jelek közötti részt.
!A végleges, browsernek küldött HTML tartalomban jelenjen meg a jelek között található kifejezés értéke.
Kérdés: Web alkalmazásban egy aspx fájlban a <% %> jel található, mit jelent?
!A végleges, browsernek küldött HTML tartalom előállítása során C# nyelven kell értelmezni a jelek közötti részt.
A végleges, browsernek küldött HTML tartalomban jelenjen meg a jelek között található kifejezés értéke.
Kérdés: Web alkalmazásban (Web forms) mit értünk a codebehind fájl alatt?
!Azt a .aspx.cs fájlt, mely az aspx fájllal összhangban tartalmazza többek között az események kezelőit.
Azt a POCO .cs fájlt, mely az aspx fájllal összhangban tartalmazza többek között az események kezelőit.
Azt a .designer.cs fájlt, mely az aspx fájllal összhangban tartalmazza többek között az események kezelőit.
Kérdés: Web alkalmazásban (Web forms) hogyan generáltatható egy vezérlőelem default eseménykezelője?
!Dupla kattintás a vezérlőelemen.
!Properties panel, event gomb alapján a kiválasztott eseményen dupla kattintás.
Tools menü, events... és ott kiválasztható 'add default'.
Kérdés: Web alkalmazásban (Web forms) válassza ki, melyek a választható/használható vezérlő elemek?
Clock
!Button
!Textbox
!DropdownList
!Checkbox
Kérdés: Miért van külön Web.Debug.config és Web.Release.config fájl a webalkalmazásban?
Azért, mert így külön definiálhatóak beállítások éles és demo környezetekhez.
!Azért, mert így külön definiálhatóak beállítások a SolutionConfiguration alatt választható build típusokhoz.
Azért, mert így külön definiálhatóak változtatható a kinézet éles és demo környezetek között.
Kérdés: Web alkalmazásban adatbáziskapcsolat adatai hol tárolhatóak?
ConfigurationSettings.cs fájlban
!Web.config fájlban
Global.asax fájlban
Kérdés: Web alkalmazásban mit tartalmaz a Global.asax.cs fájl?
!Az egész alkalmazás működését érintő események bekövetkezésekor végrehajtandó kódot.
Az egész alkalmazásból elérhető metódusokat.
Globális változók definíciója
Kérdés: Web alkalmazásban mi a különbség valami.aspx, valami.aspx.cs és valami.aspx.designer.cs fájlok tartalma között?
!Az aspx tartalmazza a vezérlőelemek elhelyezkedését, típusát és alapvető működését, az aspx.cs a hozzá tartozó codebehind fájl (főként vezérlőelemek kezelésére vonatkozó kóddal), míg az aspx.designer.cs generált fájl, mely a vezérlők definícióját tartalmazza.
Az .cs tartalmazza a vezérlőelemek elhelyezkedését, típusát és alapvető működését, az aspx.designer.cs a hozzá tartozó codebehind fájl (főként vezérlőelemek kezelésére vonatkozó kóddal), míg az aspx generált fájl, mely a vezérlők definícióját tartalmazza.
Az aspx.designer.cs tartalmazza a vezérlőelemek elhelyezkedését, típusát és alapvető működését, az aspx.cs a hozzá tartozó codebehind fájl (főként vezérlőelemek kezelésére vonatkozó kóddal), míg az aspx generált fájl, mely a vezérlők definícióját tartalmazza.
Kérdés: Web alkalmazásban mit tartalmaz a Site.master fájl?
Az oldal kerete, kinézete és működése, melyet az .cs fájlok töltenek meg tartalommal.
!Az oldal kerete, kinézete és működése, melyet az .aspx fájlok töltenek meg tartalommal.
Az egész alkalmazás működését érintő események bekövetkezésekor végrehajtandó kódot.
Az egész alkalmazásból elérhető metódusokat.
Globális változók definíciója.
Kérdés: Web alkalmazásban lehet-e több site.master fájl?
!Igen, lehet.
Nem, nem lehet.
Kérdés: Web alkalmazásban egy aspx fájlban a <%: %> jel található, mit jelent?
A végleges, browsernek küldött HTML tartalom előállítása során C# nyelven kell értelmezni a jelek közötti részt.
!A végleges, browsernek küldött HTML tartalomban jelenjen meg a jelek között található kifejezés értéke.
Kérdés: Web alkalmazásban egy aspx fájlban a <% %> jel található, mit jelent?
!A végleges, browsernek küldött HTML tartalom előállítása során C# nyelven kell értelmezni a jelek közötti részt.
A végleges, browsernek küldött HTML tartalomban jelenjen meg a jelek között található kifejezés értéke.
Kérdés: Web alkalmazásban (Web forms) mit értünk a codebehind fájl alatt?
!Azt a .aspx.cs fájlt, mely az aspx fájllal összhangban tartalmazza többek között az események kezelőit.
Azt a POCO .cs fájlt, mely az aspx fájllal összhangban tartalmazza többek között az események kezelőit.
Azt a .designer.cs fájlt, mely az aspx fájllal összhangban tartalmazza többek között az események kezelőit.
Kérdés: Web alkalmazásban (Web forms) hogyan generáltatható egy vezérlőelem default eseménykezelője?
!Dupla kattintás a vezérlőelemen.
!Properties panel, event gomb alapján a kiválasztott eseményen dupla kattintás.
Tools menü, events... és ott kiválasztható 'add default'.
Kérdés: Web alkalmazásban (Web forms) válassza ki, melyek a választható/használható vezérlő elemek?
Clock
!Button
!Textbox
!DropdownList
!Checkbox
Kérdés: Web alkalmazásban (Web forms) mit tudhatunk meg az IsPostBack tulajdonságról?
!Értéke hamis, ha ez az első oldalbetöltés.
Értéke hamis, ha az oldalbetöltés vezérlés hatására történt.
Kérdés: Web alkalmazásban DropdownList vezérlőhöz hogyan tudunk elemeket hozzáadni?
!Példány.Items kollekció manipulálásával.
Példány.Selection kollekció manipulálásával.
Példány.CustomElements kollekció manipulálásával.
Kérdés: Web alkalmazásban (Web forms) egy Label típusú vezérlőelemen megjelenő szöveg melyik tulajdonsággal állítható be?
Példány.Label
Példány.Caption
!Példány.Text
Példány.ShowText()
Kérdés: Web alkalmazásban (Web forms) egy Textbox típusú vezérlőelembe user által írt szöveg melyik tulajdonsággal olvasható ki?
Példány.Label
Példány.Caption
!Példány.Text
Példány.ShowText()
Kérdés: Web alkalmazásban (Web forms) egy Textbox típusú melyik tulajdonsággal tiltható le (user nem szerkesztheti)?
Disabled tulajdonság true értékre állításával
!Enabled tulajdonság false értékre állításával
Visible tulajdonság false értékre állításával
Opacity tulajdonság 0 értékre állításával
Kérdés: Web alkalmazásban (Web forms) egy TextBox típusú vezérlőben hogyan tudunk több sornyi szöveget megjeleníteni?
Nem lehetséges, alapvetően user input-ra való.
Text tulajdonságba sortöréssel ellátott szöveget helyezünk, EnableMultiLine tulajdonságot true értékre állítva.
!Text tulajdonságba sortöréssel ellátott szöveget helyezünk, TextMode tulajdonságot MultiLine értékre állítva.
Kérdés: MVC projekt esetén tipikusan hova futnak be a browser kérései?
Controller osztályok ActionResult attribútummal ellátott metódusaihoz.
!Controller osztályok publikus metódusaihoz.
Manager osztályok publikus metódusaihoz.
Kérdés: Mi határozza meg, hogy a browser címsorában lévő URI hova mutat az alkalmazásban?
Controllerek publikus metódusaihoz futnak be.
!Routing szabályokkal kell megadni.
A Contextben kell megadni.
Kérdés: MVC projekt esetén tipikusan mit értünk ViewModel alatt?
!Egy View alapját szolgáltató osztály, mely tipikusan tartalmaz számított mezőket és lekérdezett értékeket.
Azon osztályok ezek, melyek az adatbázisban kerülnek perzisztálásra.
Egy View alapját szolgáltató osztály, mely tipikusan nem tartalmaz számított mezőket és lekérdezett értékeket.
Kérdés: Mire utal az MVC minta?
!Model-View-Controller
Model-ViewModel-Control
Kérdés: MVC Web alkalmazásban hogyan kerül egy View megjelenítésre?
A megadott URL egy HTML oldalra mutat, melyet a browser megjelenít, ez a View.
!A megadott URL egy Controller metódusra mutat, mely View-t adhat vissza.
ViewModel generálódik és jeleníti meg a browser.
Kérdés: MVC alkalmazás esetén mikor fog kiértékelődni a <%%> jelek közötti kifejezés?
Csak az első megjelenítés során.
!Az oldal minden elkészítése során.
Az oldal minden elkészítése során, ami nem IsPostBack.
Kérdés: Web alkalmazásban (Web forms) tipikusan milyen típusú fájlok lehetnek az előre definiált Scripts mappában?
SQL script fájlok
!Javascript fájlok
.cs fájlok
Kérdés: Web alkalmazásban (Web forms) tipikusan milyen típusú fájlok lehetnek az előre definiált Styles mappában?
!CSS fájlok
Aspx fájlok
Ascx fájlok
Kérdés: Web alkalmazásban (Web forms) tipikusan milyen típusú fájlok lehetnek az előre definiált App_Data mappában?
Metadata fájlok (.cs)
!Helyi adatbázis fájlok
Konfigurációs fájlok
Kérdés: Web alkalmazásban (Web forms) hogyan jeleníthetjük meg az aktuális dátumot egy Label vezérlőben?
!A Label.Text tulajdonságot DateTime.Now értékére állítva.
A Label.Text tulajdonságot DateTime.Today értékére állítva.
A Label.Text tulajdonságot DateTime.Now.ToString() értékére állítva.
Kérdés: Web alkalmazásban (Web forms) hogyan érhetünk el egy vezérlőt code-behind fájlból?
ID alapján keresve a Controls gyűjteményben.
Az adott vezérlő ID-jét megadva közvetlenül hivatkozhatunk rá, ha public.
!Az adott vezérlő ID-jét megadva közvetlenül hivatkozhatunk rá, ha runat="server" attribútumot használ.
Kérdés: MVC alkalmazás esetén melyik mappa tartalmazza az adatmodelleket?
!Models mappa.
Controllers mappa.
Views mappa.
Kérdés: MVC alkalmazás esetén melyik mappa tartalmazza az action metódusokat?
Models mappa.
!Controllers mappa.
Views mappa.
Kérdés: MVC alkalmazás esetén hol történik az URI-k leképezése a Controller metódusaira?
!RouteConfig osztályban.
Web.config fájlban.
Global.asax fájlban.
Kérdés: MVC alkalmazásban egy View-hoz hogyan adhatunk dinamikus adatot?
!ViewBag segítségével.
Session segítségével.
ViewData segítségével.
Kérdés: MVC alkalmazás esetén hogyan lehet aszinkron metódusokat használni?
!Task típusú metódusokat definiálunk.
Thread típusú metódusokat definiálunk.
Callback függvényeket használunk.
Kérdés: MVC alkalmazásban milyen metódust kell meghívni, hogy egy másik View jelenjen meg?
!RedirectToAction
RenderView
ShowView
Kérdés: MVC alkalmazásban melyik osztály kezeli az űrlapok érvényesítését?
Validator osztály.
!ModelState osztály.
Validation osztály.
Kérdés: MVC alkalmazásban hogyan tudunk egy View-hoz CSS fájlokat rendelni?
!Az adott View-ban a <link> elemet használva.
A BundleConfig fájlban.
Az adott Controllerben hivatkozva.
Kérdés: MVC alkalmazásban milyen adatstruktúrát használ a TempData?
Dictionary
List
!Hashtable
Kérdés: Web alkalmazásban (Web forms) hogyan érhetjük el az aktuális user nevét?
HttpContext.Current.User.Identity.Name
Session["UserName"]
!HttpContext.Current.User.Name
Kérdés: Web alkalmazásban hogyan lehet session változót beállítani?
Session.Add("kulcs", érték)
!Session["kulcs"] = érték
Session.Set("kulcs", érték)
Kérdés: Web alkalmazásban (Web forms) hogyan lehet cookie-t létrehozni?
!new HttpCookie("kulcs", érték) és a Response.Cookies-ba helyezve.
new Cookie("kulcs", érték) és a Request.Cookies-ba helyezve.
Response.CreateCookie("kulcs", érték) metódussal.
Kérdés: Web alkalmazásban hogyan állítható be a session timeout?
!Web.config fájlban a <sessionState> elem timeout attribútumával.
Global.asax fájlban a Session_Start metódusban.
Code-behind fájlban a HttpContext.Session.Timeout értékével.
Kérdés: Web alkalmazásban hogyan történik az alkalmazásindításkor végrehajtandó műveletek megadása?
!Global.asax fájlban az Application_Start metódusban.
Web.config fájlban inicializáló szkript megadásával.
Az első Controller betöltésekor hívott metódussal.

64
templates/index.html Normal file
View File

@ -0,0 +1,64 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Random Question</title>
<style>
body {
font-family: Arial, sans-serif;
margin: 0;
padding: 0;
background-color: #f9f9f9;
}
.container {
max-width: 800px;
margin: 50px auto;
padding: 20px;
background: #fff;
border-radius: 8px;
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}
h1 {
color: #333;
text-align: center;
}
.question {
margin: 20px 0;
}
.answers {
margin-top: 10px;
}
.answers input {
margin-right: 10px;
}
button {
display: block;
width: 100%;
padding: 10px;
background-color: #4CAF50;
color: white;
border: none;
border-radius: 4px;
cursor: pointer;
font-size: 16px;
}
button:hover {
background-color: #45a049;
}
.option-style:hover{
background-color: #33333352;
}
</style>
</head>
<body>
<div class="container">
<h1>Véletlenszerű kérdés</h1>
<form method="POST">
{{ html_frame|safe }}
<button type="submit" name="check">Ellenőriz</button>
<button type="submit" name="next">Következő</button>
</form>
</div>
</body>
</html>

68
templates/quiz.html Normal file
View File

@ -0,0 +1,68 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Quiz</title>
<style>
body {
font-family: Arial, sans-serif;
background-color: #f4f4f9;
color: #333;
padding: 20px;
}
.container {
max-width: 600px;
margin: 0 auto;
background-color: white;
padding: 20px;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}
h1 {
text-align: center;
color: #2C3E50;
}
.question {
margin-bottom: 20px;
font-size: 1.2em;
}
.answer-options {
margin-top: 10px;
}
.answer-options input {
margin-right: 10px;
}
.submit-button {
display: block;
width: 100%;
padding: 10px;
background-color: #3498db;
color: white;
border: none;
border-radius: 5px;
font-size: 1.1em;
cursor: pointer;
}
.submit-button:hover {
background-color: #2980b9;
}
</style>
</head>
<body>
<div class="container">
<h1>Question {{ question_index + 1 }}</h1>
<p class="question">{{ question['question'] }}</p>
<form method="POST" action="{{ url_for('submit_answer') }}">
{% for answer in question['answers'] %}
<label>
<input type="checkbox" name="answer" value="{{ answer }}">
{{ answer }}
</label><br>
{% endfor %}
<input type="hidden" name="question_index" value="{{ question_index }}">
<input type="submit" value="Next" class="submit-button">
</form>
</div>
</body>
</html>

139
templates/result.html Normal file
View File

@ -0,0 +1,139 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Quiz Results</title>
<style>
body {
font-family: Arial, sans-serif;
background-color: #f4f4f9;
color: #333;
margin: 0;
padding: 0;
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
overflow: auto;
}
.container {
background-color: #ffffff;
width: 90%;
max-width: 900px;
padding: 30px;
border-radius: 10px;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
overflow-y: auto;
max-height: 90vh;
}
h1 {
text-align: center;
color: #4CAF50;
margin-bottom: 20px;
}
h2 {
color: #333;
margin-top: 20px;
font-size: 1.5em;
}
p {
font-size: 1.1em;
}
ul {
list-style: none;
padding-left: 0;
}
li {
background-color: #f9f9f9;
border: 1px solid #ddd;
padding: 15px;
margin-bottom: 10px;
border-radius: 8px;
word-wrap: break-word;
}
li strong {
font-weight: bold;
color: #333;
}
.correct-answer {
color: #4CAF50;
}
.user-answer {
color: #FF5722;
}
.mistake-item {
background-color: #FFEBEE;
border: 1px solid #FFCDD2;
}
.no-mistakes {
text-align: center;
font-size: 1.2em;
color: #4CAF50;
}
a {
display: block;
text-align: center;
margin-top: 20px;
padding: 10px 20px;
background-color: #4CAF50;
color: white;
text-decoration: none;
border-radius: 5px;
font-size: 1.1em;
}
a:hover {
background-color: #45a049;
}
</style>
</head>
<body>
<div class="container">
<h1>Quiz Results</h1>
<p><strong>Score:</strong> {{ score }} out of {{ total }}</p>
<h2>Mistakes</h2>
{% if mistakes %}
<ul>
{% for mistake in mistakes %}
<li class="mistake-item">
<strong>Question:</strong> {{ mistake.question }}<br>
<strong class="user-answer">Your Answer:</strong> {{ mistake.user_answer }}<br>
<strong class="correct-answer">Correct Answer:</strong> {{ mistake.correct_answer }}<br>
</li>
{% endfor %}
</ul>
{% else %}
<p class="no-mistakes">No mistakes!</p>
{% endif %}
<h2>All Answers</h2>
<ul>
{% for question, answer in questions_with_answers %}
<li>
<strong>{{ question['question'] }}</strong><br>
<strong class="user-answer">Your Answer:</strong> {{ answer }}<br>
<strong class="correct-answer">Correct Answer:</strong> {{ question['correct_answers'] }}<br>
</li>
{% endfor %}
</ul>
<a href="{{ url_for('restart') }}">Restart Quiz</a>
</div>
</body>
</html>