这个问题有点像图论中应该有答案,但它并不完全符合我所知道的任何图论问题.(注意:这实际上是一个现实世界的问题,为了更容易阅读而虚构化)
想象一下,我家里有一群偶数的国际象棋选手.我有很多桌子和国际象棋给大家玩,但我需要创建一个"配对"(不知道是否有是它的一个图论的术语),或使得每个人都扮演着一个人的对决名单.国际象棋选手都喜欢扮演以前从未玩过的人.
如果我有一个他们所扮演的每个玩家的列表,我可以很容易地构建一个显示前一场比赛的图表.例如,假设A播放了B和C,C播放了D:
A----B
|
|
C----D
Run Code Online (Sandbox Code Playgroud)
我知道我可以匹配B/C和A/D来创建配对.
但是如果之前的比赛图表看起来像这样:
A----B
\ |
\ |
C D
Run Code Online (Sandbox Code Playgroud)
然后我将无法创建配对.B只能玩C,这会让A和D(已经玩过的人)相互比赛.
那么,我怎么能知道(通过蛮力以外的某种方法)是否可以创建配对?它不是我正在寻找的树或周期,但是我可以测试一些其他图形属性吗?
我有一个ASP.NET页面,它从数据库表中提取一组图像,然后使用枚举器遍历所有这些图像然后显示.
这一切都发生在代码隐藏(VB.NET)中,其中代码添加占位符和表中的一些控件(占位符内的表).
我已经以编程方式为这个占位符(在表格单元格内)添加了一个按钮,但是如何以编程方式向按钮添加单击事件?我想触发一个javascript(灯箱),它显示图像的大预览(当用户点击一个小图像时,这会起作用,这个图像调用指向javascript的代码上的字符串超链接).
当我使用ASP:Calendar控件,并给它一个ID:
<asp:Calendar runat="server" ID="MyCal" />
它在渲染的html中看起来像这样:
<table id="NameMangled_MyCal"... />
我可以在javascript中通过ID访问元素,如下所示:
var cal= document.getElementById("<%= MyCal.ClientID%>")
但是,当我创建具有日历的自定义用户控件时:
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="WeeklyEventsCalendar.ascx.cs"
Inherits="WeeklyEventsCalendar" %>
<div>
<asp:Calendar runat="server" ID="InnerCal" Width="100%" OnDayRender="RenderCell" OnVisibleMonthChanged="ChangeMonth" Height="480px" />
</div>
Run Code Online (Sandbox Code Playgroud)
然后在我将其添加到我的页面时给它一个ID ...
<mvs:WeeklyEventsCalendar ID="WeeklyCal" runat="server" />
该ID不会显示在呈现的HTML中的任何位置.我得到的只是
<div> stuff </div>
当我想要的时候
<div id="NameMangled_WeeklyCal"> stuff <div>
我究竟做错了什么?
对于使用C#4.0编程Office加载项,Microsoft提供了两种不同的创建和/或修改功能区接口的方式:您可以使用功能区设计器或在功能区XML中定义功能区的布局。
如果使用功能区设计器创建功能区,则后面代码中生成的类将对放置在功能区上的所有控件具有可见性。因此,如果放置了一个名为“ dropdown1”的RibbonDropDown,则可以使用以下代码向其中添加一个项目:
RibbonDropDownItem item = Factory.CreateRibbonDropDownItem();
item.Label = submatrix.Name;
item.Tag = submatrix;
this.dropDown1.Items.Add(item);
Run Code Online (Sandbox Code Playgroud)
但是,如果使用Ribbon XML创建相同的Ribbon,则找不到dropDown1或Factory(“名称在当前上下文中不存在”)。
是否可以通过代码访问添加到功能区XML定义的功能区的项目?
我正在调试其他人的代码,用于使用带有一些javascript效果的ASP.NET制作的网页.这是我们预先填充可编辑数据的表单,其中一个文本框的填充值不正确.
我知道文本框在后面的代码中填充了正确的值,但是在那里和浏览器之间它会被覆盖.
在试图找出发生的地方时,我遇到了一个有趣的情况.如果我右键单击有问题的元素并选择"查看页面源",我可以向下滚动到该元素并查看
<input name="RecurrenceProperties$TextBox57" type="text" value="HEY ITS THE RIGHT VALUE" id="RecurrenceProperties_TextBox57" />
Run Code Online (Sandbox Code Playgroud)
但是渲染的html和IE开发人员工具栏中的错误值.
这似乎是一个线索,但我不知道"查看源"如何工作来告诉窗帘背后发生了什么.在生成"查看源"源和实际呈现的页面之间会发生什么?
编辑:我发现错误的地方是在javascript中出现ID的所有地方都有一个断点(不是很优雅,但我找到了它).
禁用javascript和使用IE8的建议非常有帮助.谢谢.
asp.net ×3
javascript ×3
algorithm ×1
c#-4.0 ×1
graph-theory ×1
html ×1
ms-office ×1
ribbon ×1
vb.net ×1
view-source ×1