小编Rya*_*ndy的帖子

更新UpdatePanel外部的控件

所以我有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 的情况下更新控件吗?

c# asp.net ajax updatepanel asp.net-ajax

13
推荐指数
2
解决办法
3万
查看次数

有没有办法通过C#代码获取您在类中使用的所有命名空间?

有没有办法得到一个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#的自定义脚本以及我的简单脚本函数.

c# reflection namespaces

12
推荐指数
1
解决办法
2094
查看次数

LightSwitch项目:要检入哪些文件以及要忽略哪些文件?

在LightSwitch应用程序中,我应该忽略哪些文件和文件夹,而不是保留在源代码管理中?

(我正在使用Git,我想知道在.gitignore文件中放入什么.)

git version-control visual-studio-lightswitch

12
推荐指数
2
解决办法
1820
查看次数

为什么git在两个明显相同的添加文件之间显示冲突?

我有一个在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仍会显示几十个这样看似相同的文件.我对如何解决这个问题感到茫然.

git git-rebase merge-conflict-resolution git-cherry-pick

11
推荐指数
2
解决办法
7316
查看次数

XNA - 为什么它使用Vector2而不是Point?

我已经习惯了WinForms图形,但我一直在尝试使用XNA,我注意到的一件事是该Point对象不是很有用,而且似乎并没有被大量使用.对于定位,各种SpriteBatchDraw方法使用a Rectangle或a Vector2.并且Vector2有很多有用的静态和实例方法,而Point除了X和Y属性之外基本没有.

为什么XNA使用a Vector2来表示位置而不是Point?我意识到他们都有一个X和一个Y,但在语义和逻辑上,使用a Vector2而不是a Point来表示位置对我来说没有任何意义.(例如,如果你标准化Vector2,突然你有一个不同的位置!)

这看起来很奇怪,还是我错过了什么?

.net xna vector

10
推荐指数
1
解决办法
1万
查看次数

在ASP.NET,VS2008中"无法重新格式化文档"

我在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行导致问题.但是,如果我删除任何单个属性,格式化工作.或者,如果我添加新属性,格式化工作.或者,如果我将标签更改为非自动关闭,则可以正常工作.但如果我撤消并保持原样,它就不起作用.

我能想到的是,这是一种非常模糊,奇怪的错误.

asp.net user-controls visual-studio-2008 visual-studio

9
推荐指数
2
解决办法
9480
查看次数

MSBuild自定义任务"Hello World"演练

有人可以编写(或链接)一个演练,该演练解释如何创建自定义MSBuild任务并在构建期间运行它吗?我正在寻找一个继承自己的自定义任务,Microsoft.Build.Utilities.Task并且只执行此操作:

public override bool Execute()
{
    Log.LogMessage("Hello world!");
    return true;
}
Run Code Online (Sandbox Code Playgroud)

(我一直在研究这个问题几个小时,并继续得到"没有找到[任何]任务.查看以下"消息.我想我必须错过某个必要的步骤.如果有一个明确的教程我可以遵循,也许我会弄明白我的不足之处.)

msbuild custom-build-step msbuild-task

9
推荐指数
2
解决办法
8822
查看次数

为什么git rebase会丢弃我的提交?

我试图在主人之上重新分支一个分支,这是我以前做过的一千次.但今天它没有用:

> 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)

git git-rebase

8
推荐指数
1
解决办法
1211
查看次数

在招摇中代替'oneOf'的次佳选择(v2.0)

在长期关注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'.

validation rest json swagger

8
推荐指数
0
解决办法
1056
查看次数

UserControl作为界面,但在Designer中可见

所以我们有一个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包含我真正关心的特定属性(比如说FirstNameLastName).通过这种方式,我可以UserControl通过cName成员参考,而不是被所有UserControl成员击败,我只得到那些成员ICustomerName.

一切都很好,但问题是,如果我这样做,我SomeCustomerNameUserControl在Designer 中看不到.有谁知道我可以做到这一点,但仍然看到UserControl表格的设计表面?

编辑:执行此操作的一种方法是将控件放在基本表单上,这种方法并不过分复杂.默认情况下(在C#中)控件成员是私有的.然后我为每个控件创建一个属性,通过接口公开它.

但是,我会对其他一些方法感兴趣,即使它更复杂.似乎有一些方法可以用IDesignerHost来做,但我找不到任何适用的例子.

.net c# user-controls custom-controls winforms

7
推荐指数
3
解决办法
7560
查看次数