<textarea questn-id="123" />
<td questn-id="234"/>
我有所有textarea的quest-id和字符串列表中的td。如何检查textarea和td是否填写了c#。
我已经使用htmlagility包获得了所有元素的任务ID,并将其存储在字符串列表中,现在我想查看所有字段是已满还是空。有人可以帮帮我吗?
答案 0 :(得分:1)
正如他们所说,你必须添加runat =&#34; server&#34;对元素 您可以使用linq在服务器端搜索它们:
var controls = Page.Controls.OfType<WebControl>().Where(x => string.IsNullOrEmpty(x.Attributes["questn-id"]));
然后你将拥有没有填充questn-id的控件
答案 1 :(得分:0)
如果你的标记是这样的:
<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.
}
答案 2 :(得分:0)
如果您要检查后面的代码,那么为元素textarea添加runat="server"
并通过ID 访问它。
<textarea questn-id="123" id="txtarea" runat="server" />
if (string.IsNullOrEmpty(txtarea.Text))
{
Console.WriteLine("textarea is empty");
}
答案 3 :(得分:0)
前言:我通过转换器运行了一些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.
}
}