我有一个字符串,它是写在aspx一侧的一个段落。事情是这样的:
新学生 {student_name} 的成绩如下 -
数学 - {math_grade}
科学 - {Science_grade}
...
等等。
我需要从数据库中获取值,并将
{student_name}
替换为Joe Smith
,{Math_grade}
替换为A
或B+
等
我该怎么做?
Dim myString As String = "{student_name}"
myString = myString.Replace("{student_name}","Joe Smith")
...请记住始终将您尝试替换值的字符串分配给原始字符串。
myString.Replace("value","newvalue")
...不会替换您的原始字符串值 - 它必须显式分配。例如
myString = myString.Replace("value","newvalue")
您当然可以使用 String.Replace,但通常 ASP.NET 应用程序是使用标签作为占位符编写的,然后修改代码隐藏中的值。
所以你的 MyFile.aspx 将包含 新学生 [lblStudentName] 的成绩如下 - 数学 - [lblMathGrade] 科学 - [lblScienceGrade] ...等等
然后在你的MyFile.aspx.cs(或MyFile.aspx.vb)中
this.lblStudentName.Text = "John Doe";
this.lblMathGrade.Text = "A-";
this.lblScienceGrade.Text = "F";
您还可以使用许多其他更好的技术,例如转发器控件,然后将 sql 结果绑定到该控件。
.NET Framework 4.6 中引入了字符串插值,这是一种更简洁的处理方式。 您可以在字符串前面添加 $ 符号。
Dim studentName As String = "Joe Smith"
Dim myString As String = $"Hello, {studentName}"