Выберите, чтобы показать кнопку или нет в Page_Load

Использование: C# - asp.net

Проблема: в Page_Load я хочу сделать так, чтобы, если целевой URL не содержал изображение, кнопка не показывается на странице.

Я удалил большую часть своего кода из примера, чтобы он не застрял, но в моем реальном коде он вставит изображение в новое окно и покажет его, если он существует, все это работает. Если он не существует, и я нажимаю кнопку, он просто ничего не делает. Мне бы хотелось, чтобы кнопка вообще не появлялась, если изображение не существует, но я даже не знаю, для чего нужно просматривать Интернет, чтобы начать разбираться в этой проблеме.

    protected void Page_Load(object sender, EventArgs e)
    {
        Button1.Click += new EventHandler(this.Open_Click);
    }


    protected void Open_Click(object sender, EventArgs e)
    {
         try
        {
            webResponse = webRequest.GetResponse();
        }
        catch 
        {
            ImageExists = false;
        }

        if (ImageExists == true)
        {
            ClientScript.RegisterStartupScript(this.GetType(), "openFoundImage", "window.open('" + PathToFolder + "');", true);
        }

Если это невозможно сделать, как загрузить изображение "страница не найдена" в путь, например: http://company.com/images/notfound.jpg или у кого есть лучший совет? Честно говоря, я не знаю, работает ли мой улов. Я все еще изучаю C#, поэтому мне очень не хватает моих навыков отладки.

1 ответ

Решение

Вам нужно переместить проверку существования изображения в загрузке страницы, а затем в загрузке страницы, которую вы должны сделать:

  try
  {
      webResponse = webRequest.GetResponse();
  }
  catch 
  {
      ImageExists = false;
      Button1.Visible = false;
  }
Другие вопросы по тегам