Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/281.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#模式匹配HTML_C#_Regex_Pattern Matching - Fatal编程技术网

C#模式匹配HTML

C#模式匹配HTML,c#,regex,pattern-matching,C#,Regex,Pattern Matching,我有一个允许用户编辑表格的web应用程序。我已经覆盖了Render方法,因此该表(包含编辑)保存为.html文件,稍后将其转换为图像。在图片中有一些我不想要的东西——特别是两个按钮和一个下拉列表。以下是感兴趣的呈现HTML: <div class="centered" id="selectReport"> <select name="Archives" onchange="javascript:setTimeout(&#39;__doPostBack(\&

我有一个允许用户编辑表格的web应用程序。我已经覆盖了Render方法,因此该表(包含编辑)保存为.html文件,稍后将其转换为图像。在图片中有一些我不想要的东西——特别是两个按钮和一个下拉列表。以下是感兴趣的呈现HTML:

<div class="centered" id="selectReport">
    <select name="Archives" onchange="javascript:setTimeout(&#39;__doPostBack(\&#39;Archives\&#39;,\&#39;\&#39;)&#39;, 0)" id="Archives" style="width:200px;">
        <option selected="selected" value="Dashboard_Jun-2012">Dashboard_Jun-2012</option>
    </select>
</div>

2012年6月1日
下面是渲染方法:

protected override void Render(HtmlTextWriter writer)
{
    using (HtmlTextWriter htmlwriter = new HtmlTextWriter(new StringWriter()))
    {

        base.Render(htmlwriter);
        string renderedContent = htmlwriter.InnerWriter.ToString();

        string output = renderedContent.Replace(@"<input type=""submit"" name=""viewReport"" value=""View Report"" id=""viewReport"" />", "");
        output = output.Replace(@"<input type=""submit"" name=""redoEdits"" value=""Redo Edits"" id=""redoEdits"" />", "");

        Regex regex = new Regex(@"<select name=""Archives""[.\\n]*(?<date>\\w{3}-\\d{4})[.\\n]*</select>");
        Match match = regex.Match(output);
        Response.Write(match.Success);
        string date = match.Groups["date"].Value;
        Regex.Replace(output, @"<select name=""Archives""[.\\n]*</select>", date);

        writer.Write(renderedContent);
    }
}
受保护的覆盖无效渲染(HtmlTextWriter)
{
使用(HtmlTextWriter htmlwriter=new HtmlTextWriter(new StringWriter()))
{
base.Render(htmlwriter);
string renderedContent=htmlwriter.InnerWriter.ToString();
字符串输出=renderedContent.Replace(@“”);
输出=输出。替换(@“”);

ReGEX正则表达式=新正则表达式(@)你读到了吗?ReGEX考虑使用jQuery和一些精心放置的选择器来做这件事。@ NHAHTDH:谢谢链接。它非常有信息。@谢谢你的建议。