Запустить функцию JavaScript с использованием C # -- c# поле с участием javascript поле с участием html пол Связанный проблема

trigger javascript function using c#


0
vote

проблема

русский

Я должен написать класс C #, который получает содержимое HTML-страницы (страница публичная) и запускает функцию JavaScript, которая загружает файл.

Моя цель - загрузить файл и сохранить его в папке

Страница представляет собой публичную страницу HTML, которая не требует входа в систему.

Ссылка выглядит так:

 <код> cosine1  

Функция допостка содержит следующий код:

 <код> cosine2  

Когда вы нажмете ссылку вручную, он отправляет форму и возвращает лист Excel, открывается диалоговое окно «Загрузка», чтобы спросить вас, где вам нужно сохранить его.

Я хочу сделать это автоматически, чтобы получить лист Excel, а затем обработать его.

Я обнаружил, что могу найти ссылки на странице, как это:

 <код> cosine3  

Но как я могу заставить JavaScript в ссылке и сохранить файл, возвращенный?

Спасибо

Английский оригинал

I have to write a c# class that gets an html page's content (the page is public) and trigger a javascript function that downloads a file.

My goal is to download the file and save it in a folder

The page is a public html page that does not require login.

The link looks like this :

href="javascript:__doPostBack(&#39;lbtSpreadsheet&#39;,&#39;&#39;)" style="font-weight: 700">Export Results</a> 

the doPostBack function contains the following code:

function __doPostBack(eventTarget, eventArgument) { if (!theForm.onsubmit || (theForm.onsubmit() != false)) {     theForm.__EVENTTARGET.value = eventTarget;     theForm.__EVENTARGUMENT.value = eventArgument;     theForm.submit(); } 

when you click the link manually, it submits the form and returns an excel sheet, the download dialog box opens to ask you where you need to save it.

I want to do this automatically to get the excel sheet and then process it.

I found out that I can find the links on a page like this:

HtmlWeb hw = new HtmlWeb(); HtmlDocument doc = hw.Load(/* url */); foreach(HtmlNode link in      doc.DocumentElement.SelectNodes("//a[@href]")) {  } 

but how can I trigger the javascript in the link and save the file returned?

Thank you

</div
        
     
     

Список ответов

0
 
vote

Я не думаю, что вы можете. C # Веб-клипы Server Side, такие как HTMLWeb или WebClient, только понимают HTTP / HTML, они не полноценные веб-браузеры, способные выполнять JavaScript так же, как IE, Firefox или Chrome могут.

 

I don't think you can. C# server side web clients such as HtmlWeb or WebClient only understand HTTP/HTML, they aren't full-fledged web browsers capable of executing javascript the same way that IE, Firefox or Chrome could.

</div
 
 
       
       
0
 
vote

Если вы хотите загрузить файл, чтобы начать автоматически во время round()2 страницы без round()3 link, запускающий ссылку Загрузить файл, вы можете записать экран ниже JS, который звонит Ваша функция JS <Код> round()4 который в свою очередь делает представление формы.

 <код> round()5  

Или как ваш вопрос заголовок говорит <код> round()6 Тогда вы можете получить доступ к функции JavaScript из C # Code, используя <код> round()7 класса, который является частью System.Web.ui

 <код> round()8  
 

If you want the file download to start automatically during the onload of the page without the Export Results link triggering the file download then you can write the below js script that calls your js function __doPostBack which in turn does the form submission.

window.onload = function() {    __doPostBack (param1, param2); }; 

Or as your question title says 'trigger javascript function using c#' then you can access Javascript function from C# code using ScriptManager class which is part of System.Web.UI

 protected void Page_Load(object sender, EventArgs e)  {     ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "FileDownload", "Javascript:__doPostBack (param1, param2);", true);  } 
</div
 
 
 
 

Связанный проблема

0  Wpf keypreview windows ключ и второй ключ  ( Wpf keypreview windows key and second key ) 
Я реализую приложение WPF в C # 4.5 для Windows 7, и я хотел бы иметь возможность схватить событие, когда пользователь нажимает клавишу Windows и C. Я реали...

-2  Гольф HCP Calculator  ( Golf hcp calculator ) 
Я работаю над программой в ASP.NET MVC, где моя цель - сделать показатель для гольфа. в Golf у каждого игрока есть гандикап, который дает им ряд дополнитель...

0  NU1701, NU1202 Восстановление пакета Восстановление на свежей установке Windows / VS  ( Nu1701 nu1202 package restore errors on fresh windows vs setup ) 
Работа в команде, у нас есть решение в Git, который разрабатывается на 3 разных DEV. Я временно ушел на разное место с моим ноутбуком, где у меня свежая Win 1...

2  C #, Linq2SQL - трюки для получения объекта ViewModel с данными соотношения?  ( C linq2sql tricks to fetch a viewmodel object with relation data ) 
Я не знаю linq2sql так хорошо, и мне было интересно, есть ли трюк для этого, вероятно, общий сценарий MVVM. У меня есть контекст данных Linq2SQL, содержащий м...

1  Как довольно печатать метод итератора  ( How to pretty print the iterator method ) 
Я хочу получить имя метода со своими аргументами метода итератора и я борюсь, чтобы найти простое решение. Итераторы генерируются компилятором в результате. И...

5  Лучшие практики для сканирования всех классов и методов для пользовательского атрибута  ( Best practices to scan all classes and methods for custom attribute ) 
Впервые я действительно должен был сделать сканирование сборки вручную. Я столкнулся с C # - Как перечислять все классы с атрибутом пользовательского класса?...

1  Включить первый случай исключений для определенного куска кода  ( Enable first chance exceptions for specific piece of code ) 
Мне нужна Visual Studio, чтобы бросить первые шансы исключения только для определенного класса. Если я включаю первый случай исключения в Visual Studio, он ...

1  Mongodb C # LINQ сгерированный запрос  ( Mongodb c sharp linq generated query ) 
Как я могу получить сгенерированный запрос из запроса LINQ? Я попробовал это, но это не работало: <код> var query = ( from d in mcollection.AsQu...

2  Высевание многих для многих кода EF первые отношения  ( Seeding many to many ef code first relationship ) 
Есть несколько других сообщений по этой теме, которую я видел, но я не смог получить правильный ответ еще (моя собственная вина, я уверен), но я хочу сеять ба...

0  C # Обработка исключений на класс  ( C sharp class wide exception handling ) 
Можно ли удалить исключения в одном месте в файле класса C #? Я кодирую некоторые модульные тесты в NUNIT для проверки веб-службы WCF, и на всех методах / т...

2  Обработка ошибок в свойствах, я знаю, что это плохо, нужно исправить, хотя  ( Error handling in properties i know its bad need fix though ) 
Я знаю свою плохую практику, чтобы поставить обработку ошибок в свойствах, я просто хочу знать , где я должен положить ошибку обработки ошибок. Я знаю, что з...

5  Сделать структуру сущности быть нечувствительными к регистру  ( Make entity framework be case insensitive ) 
Возможно ли установить корпус строки структуры объекта нечувствителен по умолчанию? Если я использую <код> string.StartsWith("stringToCompare", StringComp...

3  Представление строки в C #  ( String representation in c sharp ) 
IM TRING, чтобы взять на себя текст из существующей веб-страницы, используя этот метод: <код> try { WebClient client = new WebClient(...

0  Очистите DataTable в петле Перемещение используемых элементов к двум другим источникам данных [дубликат]  ( Clean a datatable in a loop moving used items to two other datatables ) 
<в сторону CLASS = "S-NEWACTS S-WELTIVE__info JS-Post-New Imide MB16« Роль = «Статус»> Этот вопрос уже имеет ответ здесь : ...

0  Событие ListBox после сканирования штрих-кода  ( Listbox event after barcode scanning ) 
Я использую ListBox в окне приложение, мой список имеет некоторое количество штрих-кодов. Я хочу отсканировать их с помощью Reader barcode, а затем хочу пер...

Связанный проблема

0  Wpf keypreview windows ключ и второй ключ 
-2  Гольф HCP Calculator 
0  NU1701, NU1202 Восстановление пакета Восстановление на свежей установке Windows / VS 
2  C #, Linq2SQL - трюки для получения объекта ViewModel с данными соотношения? 
1  Как довольно печатать метод итератора 
5  Лучшие практики для сканирования всех классов и методов для пользовательского атрибута 
1  Включить первый случай исключений для определенного куска кода 
1  Mongodb C # LINQ сгерированный запрос 
2  Высевание многих для многих кода EF первые отношения 
0  C # Обработка исключений на класс 
2  Обработка ошибок в свойствах, я знаю, что это плохо, нужно исправить, хотя 
5  Сделать структуру сущности быть нечувствительными к регистру 
3  Представление строки в C # 
0  Очистите DataTable в петле Перемещение используемых элементов к двум другим источникам данных [дубликат] 
0  Событие ListBox после сканирования штрих-кода