有没有办法在aspx页面上的以下eval上使用else.
目前我的div如下:
<div class="tooltip" style="display: none">
<div style="text-align: center; font-weight: normal">
Value = <%# Eval("Percentage") + "%" %>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
我想在我的div上使用以下逻辑:
If(Percentage < 50)
display "0 %"
else
display "percentage"
Run Code Online (Sandbox Code Playgroud)
我试过这样的东西,但它不起作用:
if (<%# Eval("Percentage") %> < 50)
{
Eval("0");
}
else
{
<%# Eval("PassPercentage") + "%" %>
}
Run Code Online (Sandbox Code Playgroud)
我想知道是否可以在aspx页面上执行此类操作.我不能在aspx.cs.中做到这一点.
假设我有一些类型的集合,例如
IEnumerable<double> values;
Run Code Online (Sandbox Code Playgroud)
现在我需要从该集合中提取k个最高值,对于某些参数k.这是一种非常简单的方法:
values.OrderByDescending(x => x).Take(k)
Run Code Online (Sandbox Code Playgroud)
但是,这(如果我理解正确的话)首先对整个列表进行排序,然后选择前k个元素.但是如果列表非常大,并且k相对较小(小于log n),则效率不高 - 列表以O(n*log n)排序,但我想从列表中选择k个最高值应该更像O(n*k).
那么,有没有人建议更好,更有效的方法来做到这一点?
为什么我会在没有malloc的情况下完成相同的工作时使用malloc,如下所示.
#include <stdio.h>
#include <conio.h>
struct node {
int data;
struct node *l;
struct node *r;
};
int main(){
//Case 1
struct node n1;
n1.data = 99;
printf("n1 data is %d\n", n1.data);
//Case 2
struct node *n2 = (struct node *) malloc (sizeof(struct node));
n2 -> data = 4444;
printf("n2 data is:%d\n",n2 -> data);
free(n2);
return (0);
}
Run Code Online (Sandbox Code Playgroud)
我正在使用.NET 4.0,我想使用XPath 2.0方法,如([Matches()] [1],[upper-case()] [2],[lower-case()] [3])试图在文档中查找元素.
示例XPath: "/MyDocument/MyNode[matches(@MyAttribute, 'MyValue', 'i')]"
我尝试过使用:
System.Xml.XPath.XPathNavigator.Compile()
System.Xml.XmlDocument.SelectNodes()
System.Xml.Linq.XDocument.SelectElements()
但我基本上抛出异常"UndefinedXsltContextException"(或类似的东西).这可以在.NET 4.0中完成,如果是这样,你能提供一个关于如何设置它的小例子吗?
谢谢
如果我想将Enumerable(IEnumerable<T>
)转换为列表.
什么更有效:
myEnumerable.ToList()
要么 new List<T>(myEnumerable)
谢谢!
我试图比较两个字符串,但其中一个字符串末尾包含一个空格.我使用了Trim()并进行了比较,但是没有工作,因为白色空间正在转换为%20,而我的东西Trim并没有删除它.它是像"abc"
和"abc%20"
,我能在这样的情况做比较whih太忽略大小写字符串?
有没有替代使用Include
热切载入实体?
我无法使用的原因Include
是它似乎区分大小写.
请考虑以下示例:
我有两个表:
注意案例的区别.
当我想急于负载Sager
的Stamkartotek
我用Include
,但Include
不加载Stamkartotek
:
**更新1**
我注意到这种奇怪的行为 - 如果我使用Stamkartotek
它的任何字段加入正确:
但是,如果我去,只检索Stam_nr
而不是整个对象的值- 它给了我A
而不是a
:
迄今为止的研究:
更新2
SQL生成Include
:
FROM [dbo].[Sager] AS [Extent1]
INNER JOIN [dbo].[Stamkartotek] AS [Extent2] ON [Extent1].[Klient_Stam_nr] = [Extent2].[Stam_nr]
WHERE 'jek15' = [Extent1].[Sags_nr]
Run Code Online (Sandbox Code Playgroud)
更新3
在单独的查询中加载它们,并让changetracker修复引用.它似乎也不起作用:
我需要从SQL服务器获取一个位到c#.我尝试了不同的解决方案,如:
bool active = rdr.GetSqlBinary(5);
Int16 active = rdr.GetSqlBinary(5);
Run Code Online (Sandbox Code Playgroud)
但找不到任何方法来获得比特.有人能举个例子吗?
我Contains()
用来识别列表中不包含的内容.所以,像,
if(!list.Contains(MyObject))
{
//do something
}
Run Code Online (Sandbox Code Playgroud)
但是,即使MyObject
已经在列表中,整个if语句也会变为true .
我正在使用Devexpress PopupMenu在右键单击显示.现在我想在关闭这个弹出菜单之前知道,就像Windows ContextMenu Closing事件一样.
PopupMenu有特写事件,但在关闭它之后会触发.实际上我的目标是根据情况处理何时关闭弹出菜单.
无论如何,我能实现吗?
c# ×6
linq ×3
.net ×1
.net-4.0 ×1
asp.net ×1
c ×1
c#-4.0 ×1
collections ×1
devexpress ×1
ienumerable ×1
lambda ×1
list ×1
popupmenu ×1
sql ×1
sql-server ×1
string ×1
structure ×1
winforms ×1
xpath-2.0 ×1
xslt ×1