Jag vet inte om jag är fel ute, men jag har tanken på att den webservice som jag nu jobbar med skall bl a vara till för att uppdatera min databas på min website via ett windows-gränsnitt.
Tack vare fin hjälp, så har jag kommit en bra bit på vägen.
Det jag funderar över är att jag använder mig bl a av aspnet_client på min wesite(en HTML-deitor).
Om jag nu via min webserver plockar ner det till min windows-applikation, hur blir det då med html-tagarna?
Om jag sedan vill uppdatera detta vad händer då?
Bör jag ha en RichTextBox eller vilket allternativ finns det?
Normalt sett är "aspnet_client" ASP.NETs supportfilsmapp, och inget annat.
Antar att du vill kunna redigera HTML-fält. I så fall får du använda en dylik editorkontroll (t.ex. http://www.netrixcomponent.net/) eller så lägger du in en WebBrowser-kontroll och en html-sida med lämplig editor (fckeditor el. dyl.) och kommunicerar via ObjectForScripting.
1. Lägg en WebBrowser-kontroll på ett Form.
2. Skapa en HTML-sida med en lämplig Rich Edit-kontroll på, t.ex. FCKEditor
3. Skapa en liten kommunikationsklass som tar emot kommandon från HTML-sidan
[ComVisible]
public class MinLillaKlass
{
public void SparaTexten(string texten)
{
.......kod som sparar texten
}
}
4. Sätt WebBrowser-kontrollens ObjectForScripting-property till en instans av din klass (browser.ObjectForScripting=new MinLillaKlass())
5. Låt ett Javascript på HTML-sidan säga till din applikation att nu är det dags att spara. (window.external.SparaTexten(textvalue))
Jag hittade ett väldigt bra exempel på http://www.codeproject.com/cs/miscctrl/editor_in_windows_forms.asp
Men jag fick ett problem med en gång, jag skulle ha en referens till MSHTML och hittade den dll-filen i system32, men jag var inte f-n till att sätta den refferensen.
Hur gör jag???
webBrowser1.DocumentText = startTag + "Nu skall vi se vad detta kan bli " + endTag;
..och istället för min text, lägg in innfo ifrån databasen, men jag får en massa
error (röda streck) i min startTag (javascriptet).
Finns det något bättre sätt att lösa detta på?
..och istället för min text, lägg in innfo ifrån databasen, men jag får en massa
error (röda streck) i min startTag (javascriptet).
Finns det något bättre sätt att lösa detta på?
Problemet är ju att du måste skriva strängen korrekt, och till exempel "escapa" citationstecknen ( t.ex. vid <script language="Javascript1.2">)
Naturligtvis har du rätt, när jag nu har gjort detta, så har ju de "röda strecken" försvunnit.
Men nu dyker det upp ett annat problem. Visual Studio Just In Time debuger säger att
ett object förvänntas. När jag sedan gör detta står det "körningsfel i jscript.
<html><head><title></title><head> <script language="Javascript1.2">
<!-- _editor_url = "HTMLArea/"; var win_ie_ver = parseFloat(navigator.appVersion.split("MSIE")[1]);
if (navigator.userAgent.indexOf('Mac') >= 0) { win_ie_ver = 0; }
if (navigator.userAgent.indexOf('Windows CE') >= 0) { win_ie_ver = 0; }
if (navigator.userAgent.indexOf('Opera') >= 0) { win_ie_ver = 0; }
if (win_ie_ver >= 5.5) { document.write('<scr' + 'ipt src="' +_editor_url+ 'editor.js"');
document.write(' language="Javascript1.2"></scr' + 'ipt>'); } else
{ document.write('<scr'+'ipt>function editor_generate() { return false; }</scr'+'ipt>'); } // --></script>
</head><body><script language="JavaScript1.2" defer> editor_generate('Inlagg');
</script><textarea rows="13" name="Inlagg" cols="52">
Nu skall vi se vad detta kan bli </textarea></body></html>
Någon ide? Jag har skickat med "orginalfilen" så att du kan se hur den ser ut,
jag ser ingen skillnad mot den kod jag har skrivit in.
Jo det gör det problemet är wWeb.InnerHtml = "HEJA"; När jag debuggar(stepp in) så
säger han att det inte finns InnerHtml .
Om detta kunde lyckas, så vore det ju bra mycket enklare.
Man måste ge browsern tid att läsa in dokumentet, innan man kan komma åt objekten. Du får ett DocumentCompleted-event när den är klar. Du har alltså några alternativ;
1. Sätt värdet direkt i HTML:en (bör ju vara enklast)
2. Vänta på eventet
3. Hämta in värdet från andra sidan, dvs. via Javascript.
Objectsreferensen har inte angets till en instans av ett object
//nästa error
Undantag från HRESULT:0x800A0259 System.Windows.Forms
Om jag inte harmed några html-formateringar i sText, då får jag bara det ena
felmedelandet, och texten syns som det skall. Det är när jag har med HTML-
formateringar som det andra errot kommer.