这个问题之所以存在,是因为它确实存在 具有历史意义,但事实并非如此 被认为是一个很好的主题问题 因为是本网站,所以请不要使用 作为证据,你可以问类似的问题 这里的问题。 更多信息:https://stackoverflow.com/faq
总有一些功能在边缘场景中很有用,但正是因为这个原因,大多数人都不知道它们。我要求的是课本上通常没有教过的特性。
你知道的是什么?
这个问题之所以存在,是因为它确实存在 具有历史意义,但事实并非如此 被认为是一个很好的主题问题 因为是本网站,所以请不要使用 作为证据,你可以问类似的问题 这里的问题。 更多信息:https://stackoverflow.com/faq
总有一些功能在边缘场景中很有用,但正是因为这个原因,大多数人都不知道它们。我要求的是课本上通常没有教过的特性。
你知道的是什么?
当前回答
我想到了一个特性,有时候你需要隐藏页面的某些部分。你可以用javascript或者下面这段简单的代码:
if (Request.Browser.Crawler){
HideArticleComments();
其他回答
ScottGu在http://weblogs.asp.net/scottgu/archive/2006/04/03/441787.aspx上有一堆技巧
你可以使用UniqueID属性找到任何控件:
Label label = (Label)Page.FindControl("UserControl1$Label1");
代码表达式构建器
样本的标记:
Text = '<%$ Code: GetText() %>'
Text = '<%$ Code: MyStaticClass.MyStaticProperty %>'
Text = '<%$ Code: DateTime.Now.ToShortDateString() %>'
MaxLenth = '<%$ Code: 30 + 40 %>'
代码表达式构建器的真正美妙之处在于,您可以像在非数据绑定情况下使用表达式一样使用数据绑定。您还可以创建执行其他功能的其他表达式生成器。
. config:
<system.web>
<compilation debug="true">
<expressionBuilders>
<add expressionPrefix="Code" type="CodeExpressionBuilder" />
实现这一切的cs类:
[ExpressionPrefix("Code")]
public class CodeExpressionBuilder : ExpressionBuilder
{
public override CodeExpression GetCodeExpression(
BoundPropertyEntry entry,
object parsedData,
ExpressionBuilderContext context)
{
return new CodeSnippetExpression(entry.Expression);
}
}
很多人提到了如何在重新编译时优化代码。最近我发现我可以在aspx页面中完成大部分的开发(后台代码),完全跳过构建步骤。只需保存文件并刷新页面。你所要做的就是把你的代码包装在下面的标签中:
<script runat="server">
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Response.Write("Look Ma', I didn't even had to build!")
End Sub
</script>
一旦你完成了,只要移动到代码背后,构建,测试一切工作,瞧!
-D
web.config中appsettings元素的'file'属性。
指定包含自定义应用程序配置设置的外部文件的相对路径。
如果你的应用程序设置很少,需要在不同的环境(prod)上进行修改,这是一个很好的选择。
因为网络的任何变化。配置文件会导致应用程序重新启动,使用单独的文件允许用户修改appSettings部分中的值,而不会导致应用程序重新启动。单独文件的内容与Web中的appSettings部分合并。配置文件。