Использование System.IO по нажатию кнопки - PullRequest
0 голосов
/ 05 июня 2019

Я хотел бы создать простой файл, используя System.IO при нажатии на кнопку.Мой код фактически генерирует файл, но он создает файл каждый раз, когда браузер перезагружается, а не генерирует его только по нажатию кнопки.Ниже мой код.Кто-нибудь может помочь и посмотреть, могут ли они выяснить, почему это срабатывает при загрузке страницы?

using System;
using System.IO;

namespace ColorPicker
{
    public partial class ColorPicker : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            // Empty for now
        }

        protected override void OnInit(EventArgs e)
        {
            base.OnInit(e);
            SetEventHandlers();
        }

        private void GenerateSassFile()
        {
            var ColorInputVal = ColorInput;
            ColorInputVal.Attributes.Add("class", "form-control");
            ColorInputVal.Attributes.Add("value", "#000");

            var ColorInputH = this.ColorInputH.Value = "red";

            var RenderStyleBtn = RenderStyle;
            RenderStyleBtn.Text = "Render!";

            string path = @"c:\ColorPicker\Scss\_vars.scss";
            // Create a file to write to.
            using (StreamWriter sw = File.CreateText(path))
            {
                sw.WriteLine("$primary: " + ColorInputH + " !important;");
            }

            // Open the file to read from.
            using (StreamReader sr = File.OpenText(path))
            {
                string s;
                while ((s = sr.ReadLine()) != null)
                {
                    Console.WriteLine(s);
                }
            }
        }


        private void RenderButton_Click(object sender, EventArgs e)
        {
            GenerateSassFile();
            System.Diagnostics.Debug.WriteLine("Button clicked");
        }

        private void SetEventHandlers()
        {
            RenderStyle.Click += RenderButton_Click;
        }
    } 
}

1 Ответ

0 голосов
/ 05 июня 2019

Я думаю, что проблема в этой строке, я предполагаю, что RenderStyle отличается от RenderButton, и вы запускаете RenderButton каждый раз, когда запускаете RenderStyle.

RenderStyle.Click += RenderButton_Click;

Так что это «GenerateSassFile» каждый раз, когда вы нажимаете кнопку RenderStyle.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...