所以我有UserControl一些级联DropDownList的东西.从列表1中选择启用列表2,列表2依次启用列表3.在所有三个列表中进行选择后,您可以转到下一页.
该DropDownLists为所有内部的UpdatePanel.但是"下一页"按钮在...之外UpdatePanel.应该禁用该按钮,直到所有三个列表都有选择,然后再次启用它.但由于按钮位于按钮之外UpdatePanel,因此在进行选择时不会更新.(编辑:"下一页"按钮位于同时包含该页面的页面上UserControl.)
我知道解决这个问题的一种方法:
var scriptManager = ScriptManager.GetCurrent(this.Page);
scriptManager.RegisterPostBackControl(dropDownList1);
scriptManager.RegisterPostBackControl(dropDownList2);
scriptManager.RegisterPostBackControl(dropDownList3);
Run Code Online (Sandbox Code Playgroud)
这可以确保在更改任何下拉列表时进行回发,以便按钮可以更新.但是,如果我这样做,我可以通过UpdatePanel首先摆脱它来简化.
还有另外一种方法,通过一些聪明的JavaScript或其他东西,我可以在UpdatePanel不必放弃Ajax 的情况下更新控件吗?
有没有办法得到一个List<string>包含命名空间/类中所有'使用'的东西?
例如
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Linq.Expressions;
using System.Linq.Dynamic;
using System.Text.RegularExpressions;
using System.Reflection;
namespace MyNamespace.Other.Scripting
{
Run Code Online (Sandbox Code Playgroud)
我会有一个带有"System","System.Text","System.Reflection"等的List.
编辑:如下所示,我正在使用这个http://kamimucode.com/Home.aspx/C-sharp-Eval/1 - C#评估器,我必须为TypeParser提供一个命名空间列表.问题是,我不会总是知道要放哪些.我正在使用C#中的一种简单的脚本语言,从中我将能够调用C#代码.我的另一种选择是在脚本语言中创建一个关键字,例如"using",但我真的不想这样做.我希望能够选择一个C#对象,通过我的script.txt做任何我想做的事情,并且可以自由地使用它引用的命名空间.
我想在我的Xna Game引擎中使用它,能够编写可以执行C#的自定义脚本以及我的简单脚本函数.
在LightSwitch应用程序中,我应该忽略哪些文件和文件夹,而不是保留在源代码管理中?
(我正在使用Git,我想知道在.gitignore文件中放入什么.)
我有一个在TFS中启动的项目,然后转移到Git.不幸的是,将它移动到Git的人只是检查当前文件而不是使用git-tfs.我试图在我使用git-tfs从TFS中提取的提交之后,在Git中重新设置他的新提交.
要做到这一点,我只是简单地在git-tfs提交之上重新提交他的提交.(我意识到这会弄乱远程Git分支机构,但我们是一个小团队,它会没事.我也尝试过挑选樱桃,但我遇到了同样的问题.)
我遇到的问题是一组看起来像这样的冲突:
<<<<<<< HEAD
namespace OurNiftyProject
{
public enum CardType
{
Visa = 0,
MasterCard = 1
}
}
||||||| merged common ancestors
=======
namespace OurNiftyProject
{
public enum CardType
{
Visa = 0,
MasterCard = 1
}
}
>>>>>>> Add a bunch of stuff.
Run Code Online (Sandbox Code Playgroud)
看来这是添加这些文件的TFS端提交和添加它们的Git端提交之间的冲突(因为Git repo开始为空).
逻辑上可能是跳过这个提交,但也有一些文件(比如几百个中的十个)是新的.当然,那些不会引起冲突.
为什么Git不能自己弄清楚两个文件是否相同?即使我在使用--ignore-whitespacerebase时使用,Git仍会显示几十个这样看似相同的文件.我对如何解决这个问题感到茫然.
我已经习惯了WinForms图形,但我一直在尝试使用XNA,我注意到的一件事是该Point对象不是很有用,而且似乎并没有被大量使用.对于定位,各种SpriteBatchDraw方法使用a Rectangle或a Vector2.并且Vector2有很多有用的静态和实例方法,而Point除了X和Y属性之外基本没有.
为什么XNA使用a Vector2来表示位置而不是Point?我意识到他们都有一个X和一个Y,但在语义和逻辑上,使用a Vector2而不是a Point来表示位置对我来说没有任何意义.(例如,如果你标准化Vector2,突然你有一个不同的位置!)
这看起来很奇怪,还是我错过了什么?
我在ASP.NET UserControl中.当我键入Control-K,Control-D重新格式化所有标记时,我从VS 2008获得了一系列消息:
"无法重新格式化文档.原始格式已恢复."
"无法完成行动."
"操作无法完成.参数不正确."
谁知道是什么原因造成的?
编辑:好的,这只是......很奇怪.
问题出在这里:
<asp:TableCell>
<asp:Button Text="Cancel" runat="server" ID="lnkCancel" CssClass="CellSingleItem" />
</asp:TableCell>
Run Code Online (Sandbox Code Playgroud)
不知何故,asp:Button行导致问题.但是,如果我删除任何单个属性,格式化工作.或者,如果我添加新属性,格式化工作.或者,如果我将标签更改为非自动关闭,则可以正常工作.但如果我撤消并保持原样,它就不起作用.
我能想到的是,这是一种非常模糊,奇怪的错误.
有人可以编写(或链接)一个演练,该演练解释了如何创建自定义MSBuild任务并在构建期间运行它吗?我正在寻找一个继承自己的自定义任务,Microsoft.Build.Utilities.Task并且只执行此操作:
public override bool Execute()
{
Log.LogMessage("Hello world!");
return true;
}
Run Code Online (Sandbox Code Playgroud)
(我一直在研究这个问题几个小时,并继续得到"没有找到[任何]任务.查看以下"消息.我想我必须错过某个必要的步骤.如果有一个明确的教程我可以遵循,也许我会弄明白我的不足之处.)
我试图在主人之上重新分支一个分支,这是我以前做过的一千次.但今天它没有用:
> git status
On branch mystuff
Your branch and 'master' have diverged,
and have 6 and 2 different commits each, respectively.
(use "git pull" to merge the remote branch into yours)
nothing to commit, working directory clean
> git rebase
First, rewinding head to replay your work on top of it...
> git status
On branch mystuff
Your branch is up-to-date with 'master'.
Untracked files:
(use "git add <file>..." to include in what will be committed)
[a directory from …Run Code Online (Sandbox Code Playgroud) 在长期关注SOAP之后,我最近又重新回到了REST中,我很高兴看到所有可用的工具.我已经对JSON-Schema有点熟悉了(是的,我们都知道:JSON!= REST)所以想要一个支持它的工具.
在研究REST社区中也支持JSON-Schema的关键参与者时,我将列表缩小到RAML(raml.org)和Swagger(swagger.io).顺便说一句:两者都很优秀,我强烈推荐每一个.
在对这两种工具进行了一定程度的实验之后,最终的决定(至少对于当前的项目)是Swagger,如果你还没有使用它,请帮自己一个忙,试试你的下一个基于REST的项目.
我开始这个项目完全意识到JSON-Schema的Swagger实现是不完整的,并且觉得总会有办法解决任何缺失的功能,虽然不完美,但一切都有效.
为了获得最高质量的产品,我现在发现自己正在寻找Swagger缺乏对"oneOf"约束的支持的"最干净"的解决方案.请理解这篇文章不是一个抱怨(虽然他们自己的编辑[editor.swagger.io]利用'oneOf'约束进行语法验证,因此给出了:))但更多的是"社区如何"解决这个问题.
简而言之:如果没有'oneOf'JSON-Schema功能,Swagger社区如何应对?
请注意,我当前的项目是基于与现有项目的交互,因此请假设'oneOf'要求不是可以简单删除的要求.
提前谢谢了.
编辑:昨晚再次运行JSON-Schema规范我想到了为此目的强制'枚举'.对于那篇文章后面的人来说,枚举元素中的对象是文字的(理所当然的),必须提前知道并逐字使用.换句话说,枚举中定义的对象不能用作模式定义或替换'oneOf'.
所以我们有一个C#WinForms项目,其中包含一个包含数百万UserControl的表单.除了自己的特定成员之外,每个都UserControl自然地暴露所有UserControl方法,属性等.
我一直在想减少处理这些问题的复杂性的一种方法UserControl是通过接口访问它们.因此,而不是拖放到UserControl表单上,在构造函数中这样的东西:
public class MyGiantForm
{
ICustomerName cName;
public MyForm()
{
InitializeComponent();
var uc = new SomeCustomerNameUserControl();
this.Controls.Add(uc);
cName = uc;
}
}
Run Code Online (Sandbox Code Playgroud)
SomeCustomerNameUserControl实现ICustomerName,自然地,并ICustomerName包含我真正关心的特定属性(比如说FirstName和LastName).通过这种方式,我可以UserControl通过cName成员参考,而不是被所有UserControl成员击败,我只得到那些成员ICustomerName.
一切都很好,但问题是,如果我这样做,我SomeCustomerNameUserControl在Designer 中看不到.有谁知道我可以做到这一点,但仍然看到UserControl表格的设计表面?
编辑:执行此操作的一种方法是将控件放在基本表单上,这种方法并不过分复杂.默认情况下(在C#中)控件成员是私有的.然后我为每个控件创建一个属性,通过接口公开它.
但是,我会对其他一些方法感兴趣,即使它更复杂.似乎有一些方法可以用IDesignerHost来做,但我找不到任何适用的例子.
c# ×3
git ×3
.net ×2
asp.net ×2
git-rebase ×2
ajax ×1
asp.net-ajax ×1
json ×1
msbuild ×1
msbuild-task ×1
namespaces ×1
reflection ×1
rest ×1
swagger ×1
updatepanel ×1
validation ×1
vector ×1
winforms ×1
xna ×1