none
Ссылка, задуманная для работы на сервере, выполняется на клиентском ПК RRS feed

  • Вопрос

  • На Web странице есть элемент управления Hyperlink c параметром runat="server"

    (указывает на видеоклип). Рассчитывал, что при щелчке по этой Hyperlink на клиентской машине пойдет переходНа клип на сервере, но он идет на клиентской машине.Как сделать так, чтобы щелчок по ссылке на клиентской машине инициировал переход по указанной ссылке на сервере ?

    16 марта 2013 г. 17:12

Ответы

  • Это возможно. Просто надо постараться, хотя считаю эту затею не очень полезной. Нужен примерно такой код

    namespace WebApplication
    {
      public partial class WebForm : System.Web.UI.Page
      {
        protected void Page_Load(object sender, EventArgs e)
        {
        }
    
        protected void LinkButton1_Click(object sender, EventArgs e)
        {
          Process p = new Process();
          p.StartInfo.FileName = "explorer";
          p.StartInfo.Arguments = "http:\\\\www.google.com";
          p.Start();
        }
      }
    }

    и разметка

    <asp:LinkButton ID="LinkButton1" runat="server" OnClick="LinkButton1_Click">LinkButton</asp:LinkButton>

    И ещё надо убедиться в том что у пользователя от имени которого запускается пул приложения в IIS, есть такие привелегии (запуска процесса).

    16 марта 2013 г. 20:37
    Модератор

Все ответы

  • У вас похоже не совсем верное понимание этого атрибута. Данный атрибут, указывает на то, что HTML элемента генерируется серверным кодом, а не передаётся напрямую клиенту. А вот остальное не очень понятно, что значит: "Как сделать так, чтобы щелчок по ссылке на клиентской машине инициировал переход по указанной ссылке на сервере ?", не совсем понятно.
    16 марта 2013 г. 19:13
    Модератор
  • Я после того как задал вопрос еще кое-чего почитал про ISAPI, CGI и проч. Кое-что понял, но не все. В сущности, мне надо, чтобы щелчок клиентом  по кнопке на клиентской html странице приводил к запуску какого-нибудь DLL или Exe  на сервере. А что касается  показа видеоклипов, то картина такая - все происходит в одной комнате. Вот на столе экран якобы сервера. (обычный PC, Но с IIS 7.5 и проч. На нем есть Web сайт из одной страницы со списком клипов)

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

    Чисто по жизни я просто хотел своим домашним показать, что я умею с ноутбука управлять выбором клипов для показа На ПК вот, собственно, и все. Но не получилось.

    Вот теперь ищу способы все же реализовать задуманное.

    16 марта 2013 г. 19:56
  • Это возможно. Просто надо постараться, хотя считаю эту затею не очень полезной. Нужен примерно такой код

    namespace WebApplication
    {
      public partial class WebForm : System.Web.UI.Page
      {
        protected void Page_Load(object sender, EventArgs e)
        {
        }
    
        protected void LinkButton1_Click(object sender, EventArgs e)
        {
          Process p = new Process();
          p.StartInfo.FileName = "explorer";
          p.StartInfo.Arguments = "http:\\\\www.google.com";
          p.Start();
        }
      }
    }

    и разметка

    <asp:LinkButton ID="LinkButton1" runat="server" OnClick="LinkButton1_Click">LinkButton</asp:LinkButton>

    И ещё надо убедиться в том что у пользователя от имени которого запускается пул приложения в IIS, есть такие привелегии (запуска процесса).

    16 марта 2013 г. 20:37
    Модератор