@Onyix67

Перевод числа из одной системы счисления в другую — веб-приложение на ASP.Net?

Задали написать веб-приложение в visual studio.
Одно из 4 заданий выводится рандомно при загрузке страницы. пользователь должен перевести рандомно сгенерированное число в заданной системе счисления в 3 другие системы счисления. Внести 3 ответа в 3 TextBox.
Вроде написал, но у меня возникла пара проблем:
1. Рационально ли создавать 4 переменных под каждое задание или лучше сделать перевод непосредственно в задании (но потом при проверке делать повторный перевод числа)
2. При отладке, если нажать на кнопку Проверить, страница просто обновляется, никакого перенаправления на вторую страницу не происходит (аналогичный эффект у кнопки Обновить). Это происходит, даже если для события on click кнопок написать другой код, например, изменить текст в одном из Label. Не выводится сообщение о незаполненных полях.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Windows.Forms;

namespace WebApplication1
{
    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            Random A = new Random();
            int k = A.Next(0, 100);
            int n = A.Next(0, 4);
            string k1 = k.ToString();
            string s1 = Convert.ToString(k, 2).PadLeft(8, '0');
            string s2 = Convert.ToString(k, 8);
            string s3 = Convert.ToString(k, 16);
            List<string> myQuest = new List<string>() { //список с заданиями, одно из них показывается
                k1 + " из десятичной системы счисления в двоичную, восьмеричную и шестнадцатеричную:",
                s1 + " из двоичной системы счисления в десятичную, восьмеричную и шестнадцатеричную:",
                s2 + " из восьмеричной системы счисления в десятичную, двоичную и шестнадцатеричную:",
                s3 + " из шестнадцатеричной системы счисления в десятичную, двоичную и восьмеричную:"
            };
            Label3.Text = myQuest[n]; //само задание
            List<string> mySys = new List<string>() { //список с подписями над каждым TextBox
                "десятичная",         //один из элементов удаляется при соответствующем задании
                "двоичная",
                "восьмеричная",
                "шестнадцатиричная"
            };
            mySys.RemoveAt(n);
            Label5.Text = mySys[0];
            Label6.Text = mySys[1];
            Label7.Text = mySys[2];
        }
        protected void Button1_Click(object sender, EventArgs e) //Проверить
        {
            if (!(TextBox1.Text == null) && !(TextBox2.Text == null) && !(TextBox3.Text == null)) //Если заполнены все поля
            {
                Response.Redirect("Page2.aspx?var1=" + TextBox1.Text + "&var2=" + TextBox2.Text + "&var3=" + TextBox3.Text);

            }
            else { //если хотя бы одно поле не заполнено, выводится сообщение
                DialogResult warning = MessageBox.Show("Вы ввели не все данные", "Повторите", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                if (warning == DialogResult.OK)
                {
                    DataBind();
                }
            }
        }

        protected void Button2_Click(object sender, EventArgs e) //Обновить
        {
            DataBind();
        }
    }
}
  • Вопрос задан
  • 1739 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы