ребята! Я должен установить некоторые значения полей автоматически через код в приложении win forms, которое содержит веб-браузер. Единственное, что не работает, это установить значение в multiselect. Я могу нажимать кнопки через код, устанавливать поля текстового поля и т. Д., Но список мультиселекций не работает (не может правильно установить значение). Прежде всего, это HTML-код в страницу для этого элемента:Выберите значение в multiselect через C# код
<select size="10" name="someName" multiple="multiple" onchange="javascript:setTimeout('someFunc')" id="elementId" showconfirmedonly="true" showextraitems="true">
<option selected="selected" value="1">First opt</option>
<option value="2">Second opt</option>
<option value="3">Third opt</option>
<...other options...>
</select>
Я стараюсь, чтобы отменить выбор всех элементов первого таким образом:
webBrowser.Document.GetElementById(elementId).InnerHtml =
webBrowser.Document.GetElementById(elementId).InnerHtml.Replace(
"<option selected=\"selected\"", "<option");
, а затем я пытаюсь выбрать (только один) искомый элемент (значение) таким образом:
webBrowser.Document.GetElementById(elementIWantToSelectId).Focus();
element.SetAttribute("selected", "selected");
webBrowser.Document.GetElementById(elementIWantToSelectId).InvokeMember("onchange");
Сначала я должен отменить выбранные параметры и выбрать нужный мне одну опцию. Если я попытаюсь только изменить html с помощью метода Replace, это не сработает, не только с установкой выбранного атрибута. Другие поля на странице изменяются при изменении любого значения (когда вызывается функция onchange func - я должен вызывать его при настройке значения в любом месте), и поэтому мне нужно вызвать функцию «onchange». Когда код исполняется, все опции исчезают, а поле многоселектора пустое, что я считаю действительно странным. Любые предложения, как решить мою проблему, будут оценены.
Ну, мое приложение не является веб-формами, но выигрывает формы, и я был бы признателен, если бы вы рассказали мне, как выполнить javascript в приложении win forms, если это то, что вы имеете в виду. – Aleksandar
@Aleksandar Кажется, что из вашего кода вы запрашивали веб-формы. В случае с Windows Forms код, который я дал, может не помочь вам, поскольку jQuery сильно зависит от DOM, и формы окон просто не созданы для него. Но если вы по-прежнему заинтересованы в поиске бит. Следуйте по ссылке ... http://stackoverflow.com/questions/8356990/javascript-jquery-in-windows-applications –