Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用mshtml在textarea中输入文本_C#_Javascript_Html_Mshtml - Fatal编程技术网

C# 如何使用mshtml在textarea中输入文本

C# 如何使用mshtml在textarea中输入文本,c#,javascript,html,mshtml,C#,Javascript,Html,Mshtml,我面临一个问题,我必须以编程方式填充文本区域。我使用了以下代码 System.Windows.Forms.HtmlElement reviewText = myDoc.GetElementById("review-text"); reviewText.InnerText = Program.mainForm.richTextBox1.Text.Trim(); 这很好,它在TextArea控件中设置文本。我面临的问题是,这篇文章看起来很轻。当用户单击此文本时,它将消失。它只在第一次单击时发生

我面临一个问题,我必须以编程方式填充文本区域。我使用了以下代码

 System.Windows.Forms.HtmlElement reviewText = myDoc.GetElementById("review-text");
 reviewText.InnerText = Program.mainForm.richTextBox1.Text.Trim();
这很好,它在TextArea控件中设置文本。我面临的问题是,这篇文章看起来很轻。当用户单击此文本时,它将消失。它只在第一次单击时发生

因此,我尝试了以下代码,首先单击此框,然后设置文本

 reviewText.InvokeMember("click");
然后尝试在TextArea中设置文本,但得到了相同的行为

我深入页面的源代码,找到了一些与这个文本区域相关的脚本

文本区域的来源

<textarea onkeyup="javascript:yelp.ui.widget.countChars(this.form.comment,5000);"   onkeydown="javascript:yelp.ui.widget.countChars(this.form.comment,5000);" name="comment" id="review-text" class="form400" rows="8" cols="40" style="height: 86px;"></textarea>
 <script type="text/javascript">
   var bizName = "Geary Club";
   if ($('review-text')) 
   {
     new yelp.ui.widget.DefaultValueTextField($('review-text'), 'Please write here');
   } 

与文本区域关联的脚本

<textarea onkeyup="javascript:yelp.ui.widget.countChars(this.form.comment,5000);"   onkeydown="javascript:yelp.ui.widget.countChars(this.form.comment,5000);" name="comment" id="review-text" class="form400" rows="8" cols="40" style="height: 86px;"></textarea>
 <script type="text/javascript">
   var bizName = "Geary Club";
   if ($('review-text')) 
   {
     new yelp.ui.widget.DefaultValueTextField($('review-text'), 'Please write here');
   } 

var bizName=“齿轮俱乐部”;
如果($('review-text'))
{
新建yelp.ui.widget.DefaultValueTextField($('review-text'),'Please write here');
} 

有人能告诉我如何将文本插入到这个TextArea控件中吗?

这是一个ASP.NET web应用程序吗?如果是,则System.Windows.Forms.HtmleElement存在问题。我认为,在预填充文本区域时,需要以某种方式禁用新的yelp.ui.widget.DefaultValueTextField JavaScript代码。您是否能够使用具有多行属性集的ASP.NET文本框控件?如果是这样的话,我会使用它并将您的顶层代码更改为只设置Textbox控件的.Text属性

无论哪种方式,在Javascript中(如果这是jQuery),我都会这样做:

if ($('review-text') && $('review-text').val() != "")
{
  new yelp.ui.widget.DefaultValueTextField($('review-text'), 'Please write here');
}

这样,只有在没有文本时才设置默认值

这是ASP.NET web应用程序吗?如果是,则System.Windows.Forms.HtmleElement存在问题。我认为,在预填充文本区域时,需要以某种方式禁用新的yelp.ui.widget.DefaultValueTextField JavaScript代码。您是否能够使用具有多行属性集的ASP.NET文本框控件?如果是这样的话,我会使用它并将您的顶层代码更改为只设置Textbox控件的.Text属性

无论哪种方式,在Javascript中(如果这是jQuery),我都会这样做:

if ($('review-text') && $('review-text').val() != "")
{
  new yelp.ui.widget.DefaultValueTextField($('review-text'), 'Please write here');
}

这样,只有在没有文本时才设置默认值

我更改了文本区域的HTML。并从其HTML中删除
class=“form400 default\u valued\u text\u field”
属性

myDoc = this.webBrowser1.Document;

myDoc.GetElementById("review-text").OuterHtml = "<textarea id=\"review-text\"   onkeyup=\"javascript:ui.widget.countChars(this.form.comment,5000);\" onkeydown=\"javascript:ui.widget.countChars(this.form.comment,5000);\" name=\"comment\" rows=\"8\" cols=\"40\" style=\"height: 86px;\"></textarea>";

我更改了文本区域的HTML。并从其HTML中删除了
class=“form400 default\u valued\u text\u field”
属性

myDoc = this.webBrowser1.Document;

myDoc.GetElementById("review-text").OuterHtml = "<textarea id=\"review-text\"   onkeyup=\"javascript:ui.widget.countChars(this.form.comment,5000);\" onkeydown=\"javascript:ui.widget.countChars(this.form.comment,5000);\" name=\"comment\" rows=\"8\" cols=\"40\" style=\"height: 86px;\"></textarea>";

不,这是一个c#应用程序。我正在创建一个机器人。那么这是一个带有Webbrowser控件的Winforms应用程序还是什么?如果没有更多信息,我想我们无法回答这个问题。不,这是一个c#应用程序。我正在创建一个机器人。那么这是一个带有Webbrowser控件的Winforms应用程序还是什么?如果没有更多的信息,我想我们无法回答这个问题。