我如何把结果在ASP.NET Web Forms应用程序转换为url

本文关键字:Forms Web 应用 程序转换 url NET ASP 结果 | 更新日期: 2023-09-27 18:10:58

我正在创建一个ASP。NET web表单应用程序搜索PDF中的文本,如果PDF中有该文本,它将在文本框中返回文件名和路径。到目前为止,一切正常,但现在我准备把完整的路径,并把它放在一个链接。

例如,结果将是:

https:''www.mysite.com'example1.PDF

我想在文本框中显示一个可点击的超链接,并简单地标记为:

Example 1

我想知道我用ASP是否犯了一个错误。NET Web Forms无法做到这一点,因为它只有一个文本框窗体控件,而不是一个富文本框。问题是我的结果被存储在一个字符串生成器,所以它不像我只需要一个静态标签是一个URL。

我有:

foreach (var f in files)
            {
                string pdfSearchMatch = ReadPdfFile(f.File, txtBoxSearchString.Text);
                if (pdfSearchMatch != null)
                {
                    string fileNameOnly = Regex.Replace(pdfSearchMatch, @"''''my'.test'.site@SSL''Home''Sections''PDFs''Courses''.+?''.+?''.+?''", "");
                    myCommand.CommandText = "select cc.pk1 as 'pid', f.file_name as 'xid', f.link_name as 'linkname' from course_contents cc join course_main cm on cc.crsmain_pk1 = cm.pk1 join course_contents_files ccf on cc.pk1 = ccf.course_contents_pk1 join files f on ccf.files_pk1 = f.pk1 where cm.course_id = 'COM-Syllabi' and f.link_name = '"+fileNameOnly+"'";
                    using (SqlDataReader sqlReader = myCommand.ExecuteReader())
                    {
                        while (sqlReader.Read())
                        {
                            string rid = Regex.Replace(sqlReader["xid"].ToString(), "/xid", "rid");
                            string pdfHyperlink = @"https://my.test.site/Home/pid-"+sqlReader["pid"].ToString()+"-dt-content-"+rid+sqlReader["xid"].ToString();
                            sb.AppendLine(pdfHyperlink);
                        }
                    }
                }
            }
            myConnection.Close();
            txtBoxResults.Text = sb.ToString();

我希望分配给txtBoxResults.Text的结果是可点击的链接。

谢谢。

我如何把结果在ASP.NET Web Forms应用程序转换为url

这是对您的代码的最小和最快的修复,但它是不合适的无论文本框在哪里,只要创建一个

<asp:Literal ID="Literal1" runat="server" ></asp:Literal>

和完全相同的行

txtBoxResults.Text = sb.ToString();

替换为

Literal1.Text = sb.ToString();

看它是怎么显示的,还没有测试过。仍然建议解决SQL注入和服务器连接上的额外负载,使其保持打开。

更新:- 添加超链接部分,尝试将其替换为同一行,可能会遇到转义

的问题
string pdfHyperlink = @"<a href='https://my.test.site/Home/pid-" + sqlReader["pid"].ToString() + "-dt-content-" + rid + sqlReader["xid"].ToString()+"'>Test</a>";