簡體   English   中英

如何檢查用戶是否已填充頁面中的所有元素?

[英]how to check whether user has filled all element in a page?

<textarea questn-id="123" />
<td questn-id="234"/>

我在字符串列表中有所有textarea和td的quest-id。 我如何檢查textarea和td是否用c#填充。

我已經使用htmlagility pack獲得了所有元素的quest-id並將其存儲在字符串列表中,現在我想查看所有字段是完整的還是空的。 有人可以幫我嗎?

就像他們說的那樣,您必須將runat =“ server”添加到元素中,然后可以使用linq在服務器端搜索它們:

var controls = Page.Controls.OfType<WebControl>().Where(x => string.IsNullOrEmpty(x.Attributes["questn-id"]));

然后,您將獲得未填寫問題編號的控件

如果您的標記是這樣的:

<textarea questn-id="123" id="txtarea" runat="server" />
<td questn-id="234" id="tdId" runat="server" />

你可以這樣做:

if(txtarea.Value == "")
{
  // it is empty
}
else{
 // it is not empty. It has some value.
}

如果要在代碼后面簽入, 則為元素textarea添加runat="server"並通過id訪問它

<textarea questn-id="123" id="txtarea" runat="server" />

if (string.IsNullOrEmpty(txtarea.Text))
{
   Console.WriteLine("textarea is empty");
}

前言:我通過轉換器運行了一些VB代碼,並根據需要進行了更改。 因此,這在語法上可能並不正確,但是您應該對如何使用HtmlAgilityPack有所了解。

HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(stringContainingYourHtml);

foreach (HtmlAgilityPack.HtmlNode txt in doc.DocumentNode.SelectNodes("//textarea")) {
    if ((txt.Attributes("questn-id") != null) && ! String.IsNullOrEmpty(txt.Attributes("questn-id").Value) {
        string txtVal = txt.Attributes("questn-id").Value.ToLower();
        // do whatever you want to do for validation here.

}

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM