Asp.net 从代码隐藏变量创建HTML

Asp.net 从代码隐藏变量创建HTML,asp.net,Asp.net,最近我刚刚了解到我可以这样做,我可以从代码隐藏值中设置readonly属性,如下所示: readonly="<%# someOtherBoolean %>" <textarea name="txtSomeThing" tabindex="1" id="txtSomeThing" style="overflow: auto;" rows="12" cols="

最近我刚刚了解到我可以这样做,我可以从代码隐藏值中设置readonly属性,如下所示:

readonly="<%# someOtherBoolean %>"
<textarea 
         name="txtSomeThing" 
         tabindex="1" 
         id="txtSomeThing" 
         style="overflow: auto;" 
         rows="12" 
         cols="80"
         readonly="<%# someOtherBoolean %>">
</textarea>
readonly=“”
然后像这样使用它:

readonly="<%# someOtherBoolean %>"
<textarea 
         name="txtSomeThing" 
         tabindex="1" 
         id="txtSomeThing" 
         style="overflow: auto;" 
         rows="12" 
         cols="80"
         readonly="<%# someOtherBoolean %>">
</textarea>

现在,在同一页中,我有类似的内容,并且再次希望使用相同的技术,但它会给我语法错误,我应该做什么,有什么不同

HttpContext.Current.Response.Write("<textarea  style=""overflow:auto"" cols=60 rows=2 ")

HttpContext.Current.Response.Write(“如果
someOtherBoolean
已经是后台代码上的变量,为什么要使用前端嵌入式表达式块?您正在从后台代码创建一个控件,该控件到达前端,然后在后台代码上搜索变量。这是一个主要的混淆

只需使用代码隐藏中的变量:

HttpContext.Current.Response.Write("<textarea readonly='" & someOtherBoolean.ToString() & "' style=""overflow:auto"" cols=80 rows=4 ")

HttpContext.Current.Response.Write(“如果
someOtherBoolean
已经是后台代码上的变量,为什么要使用前端嵌入式表达式块?您正在从后台代码创建一个控件,该控件到达前端,然后在后台代码上搜索变量。这是一个主要的混淆

只需使用代码隐藏中的变量:

HttpContext.Current.Response.Write("<textarea readonly='" & someOtherBoolean.ToString() & "' style=""overflow:auto"" cols=80 rows=4 ")
HttpContext.Current.Response.Write(主要用于较旧的ASP系统的向后兼容性。现代系统中的代码隐藏中不需要使用它们。嵌入的代码块提供对程序流和代码隐藏中声明的值的访问,同时构建所服务的页面

在第二个示例中,您不需要使用嵌入式代码块,因为您已经有权访问要使用的变量

HttpContext.Current.Response.Write( "<textarea readonly=\"" + someOtherBoolean.ToString() + "\" style=\"overflow:auto\" cols=80 rows=4 " )
HttpContext.Current.Response.Write(主要用于较旧的ASP系统的向后兼容性。现代系统中的代码隐藏中不需要使用它们。嵌入的代码块提供对程序流和代码隐藏中声明的值的访问,同时构建所服务的页面

在第二个示例中,您不需要使用嵌入式代码块,因为您已经有权访问要使用的变量

HttpContext.Current.Response.Write( "<textarea readonly=\"" + someOtherBoolean.ToString() + "\" style=\"overflow:auto\" cols=80 rows=4 " )


HttpContext.Current.Response.Write("第一个例子成功了,如果你已经在C代码中,你不需要使用内联ASP.NET语法。只需执行字符串连接或格式字符串或字符串插值等。第一个例子成功了,如果你已经在C代码中,你不需要使用内联ASP.NET语法。只需执行字符串连接或格式字符串或字符串插值关于等。转义字符解决方案是错误的,它说字符常量必须只包含一个字符。我相信这是一个误解。当你回应我的评论并说另一种方法有效时,我以为你是指我的另一种方法。多亏了@CDspace,我相信他和我自己的答案都是你想要的当然,我的是VB,他的是C#,但你没有包括任何类型的标记来帮助我们解决这个问题。因为没有分号,我假设它是VB。是的,谢谢。这个更新的答案很有效。我不知道如何在VB中做转义字符。转义字符解决方案是错误的,它说字符常量必须包含完全相同的值e字符。我相信这是一个误解。当你回应我的评论并说其他方法有效时,我以为你是指我的其他方法。由于@CDspace,这一点得到了澄清,我相信他和我自己的答案都是你想要的。当然,我的答案是VB,他的答案是C#,但你没有包括任何类型的标签来帮助我们ut在那一个上。因为没有分号,我假设它是VB。是的,谢谢。这个更新的答案有效。我不知道如何在VB中做那样的转义符。这几乎是我的确切答案,出于某种原因被否决了:(这是C#,包括一个指向文档的链接,还有一些额外的信息,不包括你的第二个,错误的,例如我的答案是VB,很容易转换-OP从未指定语言。第二,我只包括第二个答案,因为OP说“它有效”在上面的评论中,我把它作为一个评论。@Santi实际上我认为他是指他自己问题中的第一个例子,FWIW,我在写我的文章时没有看到你的答案。我在评论中贴了两个例子。他随后评论说“第一个例子成功了”,所以我很自然地认为这是关于我的评论。尽管如此,我相信你和我都有相似的、正确的答案。这几乎是我的确切答案,出于某种原因被否决了:(这是C#,包括一个指向文档的链接,还有一些额外的信息,不包括你的第二个,错误的,例如我的答案是VB,很容易转换-OP从未指定语言。第二,我只包括第二个答案,因为OP说“它有效”在上面的评论中,我把它作为一个评论。@Santi实际上我认为他是指他自己问题中的第一个例子,FWIW,我在写我的文章时没有看到你的答案。我在评论中贴了两个例子。他随后评论说“第一个例子成功了”,所以我很自然地认为这是关于我的评论。尽管如此,我相信你和我都有相似的、正确的答案。