返回首页

介绍
VS 2010和C#4.0中引入了很多新的功能。在这里,在这篇文章中,我尝试既包括一些非常简单,但非常有用的功能。1。隐藏选中的代码部分
很多时候,情况出现时,我们要隐藏的代码指定的一块,而隐藏了整个地区。这已成为在VS 2010中更容易。只要选择你要隐藏的代码部分,并点击鼠标右键选择"大纲-GT;隐藏的选择。
像一个地区代码相同的方式也得到可折叠和扩展区。随时随地你想删除这个隐藏的文本再次,选择右键,选择"大纲-GT;停止隐藏电流。{S0的}2。数据提示
此选项为我们提供了一个简单的方法,我们可以与任何变量在调试的时间沟通。在2010年,数据提示可以固定在一个位置或它甚至可以浮动。这给了我们一个简单的方法来监视我们在调试过程中的变量,它的价值。我们可以添加尽可能多的数据提示,将继续存在,甚至在会议结束后关闭。
,只是为了增加销到数据提示放置在任何变量,你可以看到图钉图标上单击鼠标指针。{S}
,你可以移动你的脚到任何位置。针为您提供三个按钮关闭,拔掉闩(除去针),展开(加任何评论)。{S2的}
一旦代码已经调试,我们仍然希望看到什么价值变量/表达式的调试时间的控股,那么这个功能是非常有用的。{中三}
你甚至可以导出/导入数据提示。点击调试-GT;出口数据提示,GT;你想要的XML文件保存到指定的位置。
您可以随时随地访问您的XML文件,通过选择调试-GT导入选项,导入数据提示。3。 String.IsNullOrWhiteSpace
检查指定的字符串是否为空,空,或只包含空白字符。如果字符串包含任何本,只有这样的方法将返回true。?代码> \ N??新线回车?\ R???代码> \ V??为垂直空间正常空间??代码> \ T?为tab字符?
{四至}4。命名参数和可选参数
VS2010的参数成为可选的默认值时,分配给它。{五}
在上面的方法,我们可以省略val1和val2,因为他们有一个默认值,并可以作为可选的治疗。那一刻,我们开始绑的方法,情报显示这些参数都是可选的。 {六}
命名参数允许用户不记得参数的顺序。如果您知道该参数的名称,然后你可以调用它们以任意顺序。智力支持命名参数名称参数后跟冒号(:)。{七}
下面是一个完整的例子,显示可选和命名参数:{S8的}
{S9的}5。突出
选择识别代码的任何地方和所有使用该标识符的地方得到突出。
在下面的例子中,我选择了标识符VAL2自动突出显示了其所有的用法。{S10的}6。按次生成的情报
这个功能相当有趣。我经历过,当我创建了一个名称测试类声明的对象时,我错误地写道TSET,它让我创建对象红线。
当我看到一条红线,我只需右键点击我的鼠标,看到一个选项,称为生成有两种选择类和新类型。提高这么多,在课堂上缺少任何方法可以首先使用和以后创建的情报。{S11的}7。 URL路由
URL映射可以在一定程度上的ASP.NET 2.0。我们可以定义我们要显示的URL,但问题是在回传的情况下,实际URL在浏览器中显示。
URL路由介绍了在ASP.NET 3.5。在此回传的问题解决了,但我们必须创造不同的处理程序类,根据网址路线。
在ASP.NET 4.0中,每个路由定义为单独的处理程序类的需要已被删除,有一个建在这有助于更迅速地执行路由名为MapPageRoute辅助功能。路线登记onApplication_Start。
让我们做路由使用一个简单的例子。我有两个页面的默认和默认。在每一页上的一个按钮带你到下一个。随着从一个页面移动到另一个,我太需要传递一个参数。在Global.asax文件中的第一件事就是在Application_Start下,我们必须到指定的URL,我们希望他们出现在浏览器窗口。

void Application_Start(object sender, EventArgs e)

{

   // Code that runs on application startup



   System.Web.Routing.RouteTable.Routes.MapPageRoute

	("StoreRoute","MyFirstPage/{Name}"," /Default.aspx");

   System.Web.Routing.RouteTable.Routes.MapPageRoute

	("Route1", "MySecondPage/{Name}", " /Default2.aspx");

}

默认情况下将有URL MyfirstPage的参数的名称/值和默认将有的网址MySecongPage /参数名称的值。
在默认的页面按一下按钮,我已经添加下面的代码来调用默认页面:{C}
这里quot; Anquot;参数名称的值,默认页面上添加一个类似的代码,带你回到默认页面。
protected void btnMove_Click(object sender, EventArgs e)

{

    Response.Redirect(ResolveUrl(" /MyFirstPage/") + "Test");

}

路由变得更加容易和简单。我们可以传递多个参数。8。动态语言支持
动态语言是那些不执行编译时类型检查,而他们仅在运行时确定对象类型。这是更快和更容易写,但我们是不是可以看到编译时的错误。因此,wenbsp;必须确保该应用程序中所描述的方式表现。
如果我们看到以前版本的C#,然后它是完全静态的语言,但4.0又增加了一个新的动态元素,以支持动态特征。使用动态关键字告诉编译器将关闭编译时检查。{S12的}
现在到了一个非常明显的问题,什么是对象之间的差异,无功和动态类型。让我们来看看: 物件动态瓦尔编译器有一个变量的类型有关的资料很少没有编译器的信息编译器有完整的信息该变量需要在使用前铸造铸造所需没有需要的铸造,编译器已经有完整的信息如果我们没有更多的数据类型的信息,它是有用的当我们需要编写更少的代码,并使用动态语言通常使用的LINQ 9。 ClientID的生成使用的ClientIDMode
在ASP.NET中,如果我们看一下在客户端,它是很难预测的ClientId页面将呈现。 ASP.NET使用的ClientId代独特的命名系统。
但是现在ASP.NET 4.0中,处理的ClientId已经变得非常容易。到目前为止,我们已经看到如果我们添加任何控制aspx页面,并查看其源,我们可以看到类似这样的"ctl00_MainContent_txtName控制的东西的ID吗??/ code>的。现在由物业的ClientIDMode,我们可以设置ID的方法,我们希望它应产生。
ASP.NET 4.0中提供了四种模式ClientIDMode属性类型。汽车
的ID至今ASP.NET 2.0/3.0/3.5产生。例子{体C3}
当我们查看其源,ClientID的生成是quot; ctl00_MainContent_txtDataquot;{的C4}静止
这种模式使得客户端ID静态的,这意味着什么ID被分配给服务器端的控制,同样会被用于为客户端ID。但如果模式设置为静态的重复控制,那么它是开发商的责任,以确保客户端ID的唯一性。例子{C5的}
当我们查看其源代码,生成的客户端ID是quot; divVal3quot;{5233}可预见的
预测依赖于父命名控制的ClientID建立自己的客户端ID值。父名的下划线控件的名称,排除ctxxx的。这主要是用于数据绑定控件。例子{C7-}
当我们查看其源代码:{C8的}继承
这是每个控件的默认行为。看起来它的父控件获得其为ClientIDModel价值。
<div id="divVal1" runat="server"></div>

我们不提任何模式下,则默认为继承。{C10的}
我们可以在3种方式设置这些属性:控制水平页面级{C12的}应用水平
下的system.web在你的web.config文件,我们可以设置。 2.0/3.0/3.5 4当我们应用程序的升级,它是有用的,当时的默认模式是自动将自动呈现,让所有的控件ID,但是当你升级到4.0,这将是可预见的。因此,为了使代码工作,我们可以设置在web.config中的ClientIDMode ="Autoquot;
<system.web >

<pages clientIDMode="Predictable"> </pages>

</system.web>
结论
我已经创建了一个示例应用程序使用所有上述功能。这不是结束,只是开始探索我的VS2010的功能。它已成为试图去深入这些功能时,真的很有趣,有更多的探索。历史第九届:2011年11月初始版本2011年11月,15日:修改标题,并添加更多的功能11月17日,2011年增加了一个新的功能quot; ClientIdModequot;

回答

评论会员:H_Sh269 时间:2012/02/06
感谢
评论会员:Anuja帕瓦尔多尔 时间:2012/02/06
感谢
评论会员:annaunivrajan 时间:2012/02/06
真是一个很好的文章
评论会员:Anuja帕瓦尔多尔 时间:2012/02/06
感谢{S13 }

| Anuja帕瓦尔多尔
评论会员:游客 时间:2012/02/06
很不错的文章,谢谢分享
CIDev
评论会员:游客 时间:2012/02/06
感谢Marufuzzamanimgsrc=http://www.orcode.com/img/ico/smiley_smile.gif
Anuja帕瓦尔多尔
评论会员:游客 时间:2012/02/06
。许多好的建议只是因为代码的工作,但这并不意味着它是良好的代码
Anuja帕瓦尔多尔
评论会员:游客 时间:2012/02/06
感谢开发imgsrc=http://www.orcode.com/img/ico/smiley_smile.gif
Anuja帕瓦尔多尔
评论会员:游客 时间:2012/02/06
尼斯。像电​​源生产力工具的扩展使用的东西,可以提高可用性更加:会员1511231
感谢您的建议阿比纳夫,一定会做
评论会员:游客 时间:2012/02/06
Anuja帕瓦尔多尔:好文章​​很多帮助面试的目的:会员1511231:感谢迪内希imgsrc=http://www.orcode.com/img/ico/smiley_smile.gif
Anuja帕瓦尔多尔
评论会员:游客 时间:2012/02/06
真的很好,所以改变我的投票
Jaydeep Jadav
评论会员:游客 时间:2012/02/06
好听到。感谢imgsrc=http://www.orcode.com/img/ico/smiley_smile.gif
Anuja帕瓦尔多尔
评论会员:游客 时间:2012/02/06
好文章!!!请写上
卡尔斯
评论会员:游客 时间:2012/02/06
感谢,一定会做imgsrc=http://www.orcode.com/img/ico/smiley_smile.gif
Anuja帕瓦尔多尔
评论会员:游客 时间:2012/02/06
很好地解释了......
ak_1989:感谢Jaydeep {S13 }
评论会员:Anuja帕瓦尔多尔 时间:2012/02/06
您的文字
"如果字符串包含任何本,只有该方法将返回true。"
我都弄糊涂了。最后一个例子包含一个空格。抹去上面的句子。 "3"。没有足够明确的。

否则有趣
评论会员:amp_dude 时间:2012/02/06
喜卡尔,

这句话,我的意思是,如果变量包含任何符号或完整的空字符串则仅值将是真实的。如果空间或符号都附有一些文字,则该值将是假的。

bool a=string.IsNullOrWhiteSpace("/n Test /r test");// Will return false as it is not null nor an empty string although it contains space /n and /r

我希望这是有道理的
评论会员:Anuja帕瓦尔多尔 时间:2012/02/06
很好地解释......
:samardeep
评论会员:游客 时间:2012/02/06
感谢AKimgsrc=http://www.orcode.com/img/ico/smiley_smile.gif