我想清除控件是标签的表单上的所有值,其名称以"label"开头
这段代码:
List<Label> lbls = this.Controls.OfType<Label>().ToList();
foreach (var lbl in lbls)
{
if (lbl.Name.StartsWith("label"))
{
lbl.Text = string.Empty;
}
}
Run Code Online (Sandbox Code Playgroud)
...不起作用,因为lambda找不到任何东西--lbls.Count = 0.
这不会获得表单上的所有控件,即使是其他控件的子控件(例如,在我的情况下,Panels)?
在我第一次编辑本周的过程中发生了一件有趣的事情.我遇到了这行代码:
if (SetFetchTab)
tabMain.SelectedIndex = 1;
Run Code Online (Sandbox Code Playgroud)
...并决定,好吧,我会把它变成一个const来使它更具可读性,并在我使用时将它括在括号中,以防以后需要将额外的代码添加到这个条件中:
const int FETCH_TAB = 0;
const int CONNECTION_TAB = 1;
. . .
if (SetFetchTab)
{
tabMain.SelectedIndex = CONNECTION_TAB;
}
Run Code Online (Sandbox Code Playgroud)
然后好奇心得到了我的好处,我决定找出SetFetchTab赋值的位置......它不是 - 除了隐式赋值false/0声明它:
public static bool SetFetchTab;
Run Code Online (Sandbox Code Playgroud)
有一次,另一种形式有条件地将SetFetchTab设置为0或1,但该代码现在被注释掉了.因此,上面的条件永远不会成立,并且SelectedIndex永远不会被赋值CONNECTION_TAB/1.因此,为什么这个块没有灰化,表明它是死代码?
BTW,FETCH_TAB 被灰化/识别为死声明,因为tabMain.SelectedIndex从未被赋值为0,因此我无处可用.
按照这里的说明进行操作:http://lokeshdhakar.com/projects/lightbox2/和"Murach的JavaScript和jQuery"一书(第320页和第321页),我正在尝试为我的网站添加灯箱功能.
我添加了lightbox.css(和screen.css,可能也需要它),以及我的Content文件夹,以及lightbox.js和jquery.smooth-scroll.min.js(因为它包含在灯箱下载中,我想象灯箱需要它)到我的Scripts文件夹.
我还在我的Images文件夹中添加了以下图片:light.png,loading.gif,next.png和prev.png.
我有这个html和jQuery代码(这是整个Default.cshtml):
@{
Layout = "~/_SiteLayout.cshtml";
Page.Title = "el Garrapata - Spoon!!!";
}
<div id="tabs">
<ul>
<li><a href="#tabs-1">Spring</a></li>
<li><a href="#tabs-2">Summer</a></li>
<li><a href="#tabs-3">Fall</a></li>
<li><a href="#tabs-4">Winter</a></li>
</ul>
<div id="tabs-1">
<a href="Images/Fullsize/Landscapes/Spring_2013 04 06_2293.jpg" rel="lightbox" ><img src="Images/Thumbnails/Landscapes/Spring_2013 04 06_2293_th.jpg" width="300" height="200"></a>
</div>
<div id="tabs-2">
</div>
<div id="tabs-3">
</div>
<div id="tabs-4">
</div>
</div>
<script type="text/javascript">
$(document).ready(function () {
$("#tabs").tabs();
});
</script>
Run Code Online (Sandbox Code Playgroud)
...但它不起作用:虽然在"弹簧"选项卡中显示一个缩略图图像,但单击它只会导致屏幕大部分变暗 - 它变得"灰显"到几乎不透明的程度.
灯箱下载还包括jquery-1.7.2.min.js和jquery-ui-1.8.18.custom.min.js
我在_SiteLayout.cshtml中引用了较新的版本:
<script src="~/Scripts/jquery-2.0.0.min.js"></script>
<script src="~/Scripts/jquery-ui-1.9.2.min.js"></script>
Run Code Online (Sandbox Code Playgroud)
这可能是问题吗?如果我想使用lightbox,我是否"使用旧版本的jQuery和jQueryUI"?
顺便说一下,我试图在灯箱的内部论坛发帖,但无法登录,无论是Fakebook还是谷歌(虽然我(不情愿的是前者)帐户同时兼顾;也是我试过的OpenID爵士乐,但它似乎期待一个URL ...... ???)
注意:我打算尽快给这个问题留100分.如果我在此之前得到答案,我将奖励赏金后答案.
我已经切换到fancyBox,但是当点击"缩略图"而不是中心时,大(href)图像仍然拥抱页面的左侧.这里是所有Razor,HTML和jQuery(为简洁起见,一些图像代码被省略): …
使用以下 CSS:
* {
margin: 0;
padding: 0;
font-family:"Segoe UI";
font-variant: small-caps;
}
.red {
color: hsl(0, 100%, 50%);
font-size: 3em;
}
.orange {
color: hsl(30, 100%, 50%);
font-size: 3em;
}
.yellow {
color: hsl(60, 100%, 50%);
font-size: 3em;
}
.green {
color: hsl(120, 100%, 50%);
font-size: 3em;
}
.blue {
color: hsl(210, 100%, 50%);
font-size: 3em;
}
.indigo {
color: hsl(230, 100%, 50%);
font-size: 3em;
}
.violet {
color: hsl(274, 100%, 50%);
font-size: 3em;
}
Run Code Online (Sandbox Code Playgroud)
... * 选择器中的属性工作正常 - …
基于这里的答案:How can Iretrieve and parse just the html returned from an URL?
...我尝试首先添加基于此处找到的代码:http://msdn.microsoft.com/en-us/library/system.net.http.httpclient.aspx
...即将其添加到 \App_Code\Functions.cshtml:
@functions
{
public static string GetUrlHtml(string dynamicUrl)
{
HttpClient client = new HttpClient();
string body = await client.GetStringAsync(dynamicUrl);
// parse it using HTML Agility Pack? (http://htmlagilitypack.codeplex.com/)
}
}
Run Code Online (Sandbox Code Playgroud)
HttpClient 无法识别,并且不提供“解析”上下文菜单项。输入后,Intellisense 不向我提供“Http”:
@using System.Net.
Run Code Online (Sandbox Code Playgroud)
HttpClient 真的对我不可用吗?如果可以的话,我能得到什么作为安慰奖呢?我最好的选择是像这样使用 WebClient:
WebClient wc = new WebClient();
string body = wc.DownloadString(dynamicUrl);
// parse it with html agility pack
Run Code Online (Sandbox Code Playgroud)
...或者,如https://web.archive.org/web/20211020001935/https://www.4guysfromrolla.com/articles/011211-1.aspx#postadlink所示,我可以使用 webGet 类HTML 敏捷包:
var webGet = new HtmlWeb(); …Run Code Online (Sandbox Code Playgroud) 在研究错误的原因时,我遇到了这行代码:
Status |= (int)states.Reading;
Run Code Online (Sandbox Code Playgroud)
C#中的"| ="运算符是什么?
因此"状态"定义如下:
public static int Status
Run Code Online (Sandbox Code Playgroud)
...使用存取器和mutator(或"getter"和"setter"),而"states"以这种方式定义:
[Flags]
public enum states
Run Code Online (Sandbox Code Playgroud) 我需要构建一个用户选择的csv dept数字.
我从这个HTML开始:
<button id="btnDept">select Depts</button>
<div id="dialog" title="Select the Depts you want to include in the report" style="display:none;">
<div>
<label for="ckbx2">2</label>
<input type="checkbox" id="ckbx2" />
<label for="ckbx3" id="lbl3">3</label>
<input type="checkbox" id="ckbx3" />
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
...而这个jQuery:
var deptsSelected = '';
$("#btnDept").click(function () {
$("#dialog").dialog({
modal: true
});
$('checkbox').click(function() {
deptsSelected += this.val + ',';
alert(deptsSelected);
});
});
Run Code Online (Sandbox Code Playgroud)
...这对于显示选择的depts没有任何作用 - 这是有道理的,因为"this"可能是复选框,当然也不是标签.我将在这个对话框中有几十个复选框,并且不想写这样的东西:
$('#ckbx3').click(function(){deptsSelected + = $('lbl3').val +','; alert(deptsSelected);});
...对于每个复选框/标签对(即使使用这种强力方法,上面的代码显示了此警报,而不是我期望/希望的:

天堂到Murgatroid /什么是kerfluffle?!?
jsfiddle在这里:http://jsfiddle.net/clayshannon/aWpPN/
给定值123,1234和12345,我需要将它们分别转换为1.23,12.34和123.45
这段代码,当我输入123,然后是1234,然后12345进入textbox2:
int originalVal = Convert.ToInt16(textBox2.Text);
double doubled = Convert.ToDouble(originalVal/100);
Run Code Online (Sandbox Code Playgroud)
...给我1,12和123而不是预期的1.23,12.34和123.45.
我需要做些什么才能获得理想的结果?请注意,这是使用VS2003和.NET 1.1的Windows CE/Compact Framework项目.
我下载了"Microsoft CodeLens Code Health Indicator"VS 2013扩展(http://visualstudiogallery.msdn.microsoft.com/f85a7ab9-b4c2-436c-a6e5-0f06e0bac16d)
...并打开一个简单的实用程序.我的方法得分从52的低点到92的高点.
微软编写的方法是唯一一个得分较高的方法.
1 reference | maintainability 94
public Form1()
{
InitializeComponent();
}
Run Code Online (Sandbox Code Playgroud)
注释掉"InitializeComponent();" 将可维护性提高到最大值(100),但当然,至少在这种情况下,最终的可维护性也是可用性的负极限.
有没有办法在有用的代码上获得100分?
这里的一些代码排名100%可维护:

我正在查看一些LINQ示例,因此提醒他们应该在最后有一个"select"子句.
但我有一个LINQ工作,没有"选择":
public IEnumerable<InventoryItem> Get(string ID, int packSize, int CountToFetch)
{
return inventoryItems
.Where(i => (i.Id.CompareTo(ID) == 0 && i.PackSize > packSize) || i.Id.CompareTo(ID) > 0)
.OrderBy(i => i.Id)
.ThenBy(i => i.PackSize)
.Take(CountToFetch)
.ToList();
}
Run Code Online (Sandbox Code Playgroud)
这是因为:
(a) select is not really necessary?
(b) Take() is doing the "select"
(c) ToList() is doing the "select"
Run Code Online (Sandbox Code Playgroud)
说实话,这是在我添加"ToList()"之前的工作......所以看起来LINQ在允许一个人逃脱的方面是非常宽容/宽松的.
另外,在我正在使用的LINQ中,我认为OrderBy和ThenBy是冗余的,因为用于填充inventoryItems的SQL查询已经具有ORDER BY ID,PackSize子句.我是对的(.OrderBy()和.ThenBy()是不必要的)?