我已经尝试了一些我在互联网上看过的例子,但我似乎无法弄明白.这是Teradata数据库.
我有TableA,它有CustomerId和DepartmentId.
我有TableB,也是CustomerId和DepartmentId.
我知道这种结构不实用,但这是一个高度非标准化的数据库,我们从离岸开发团队接管,我们必须使用我们拥有的.
我想要做的是在CustomerId上连接TableA和TableB,然后将TableB的DepartmentId设置为TableA中的内容.我非常感谢正确的语法.
我有几个ASP.NET UpdatePanel,每个都有一个AsyncPostBackTrigger绑定到同一个按钮的服务器端点击事件.由于一次只有一个UpdatePanel可以执行其操作,因此我使用.get_isInAsyncPostBack()
它PageRequestManager
来防止用户在异步回发完成之前能够访问页面的其他部分.
此页面的另一部分需要连续动态更新多个更新面板.由于更新面板使用异步触发器,因此__doPostBack("<%=ButtonName.ClientID %>", 'PanelId');
异步调用fires.因此,它将快速移动到循环的下一次迭代并尝试更新下一个面板.但是,第二次迭代失败,因为已有另一个更新面板执行异步回发.
理想情况下,有一种方法可以等到.get_isInAsyncPostBack()
返回false而不阻止其他客户端活动.
研究让我遇到了很多有问题的人,几乎所有人都被建议使用setTimeOut()
.我不认为这对我有用.我不想在执行函数之前等待指定的时间.我只是希望我的Javascript在另一个脚本运行时等待,最好等到特定条件为真.
我知道很多人可能会建议我重新考虑我的模型.它实际上不是我的模型,而是一个交给我们开发团队的模型,目前这个团队一直处于混乱状态.由于时间限制,重写模型不是一种选择.唯一的选择是使这项工作.我想如果我有办法使客户端代码无阻塞地等待,我的问题就会得到解决.
看看这个标记:
<asp:UpdatePanel ID="Panel1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:DropDownList ID="cboBox1" ClientIDMode="Static" AutoPostBack="true" runat="server" />
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:DropDownList ID="cboBox2" runat="server" />
<asp:UpdateProgress ID="UpdateProgress1" style="display: inline" AssociatedUpdatePanelID="Panel1" DynamicLayout="false" DisplayAfter="0" runat="server">
<ProgressTemplate>
<img src='<%= ResolveClientUrl("~/Images/indicator.gif")%>' border="0" alt="" />
</ProgressTemplate>
</asp:UpdateProgress>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="cboBox1" EventName="SelectedIndexChanged" />
</Triggers>
</asp:UpdatePanel>
Run Code Online (Sandbox Code Playgroud)
UpdateProgress控件最初工作,但是当我们将ClientMode ="Static"添加到cboBox1时,它就崩溃了.将其还原为AutoID不是一个选项,因此我需要找到允许UpdateProgress面板与ClientIDMode ="Static"一起使用的解决方案.
另外,有人可以在标签列表中添加"clientidmode"吗?
我是Windows服务的新手.我为我的c#Windows服务创建了一个安装程序,并且服务器上的安装(Windows Server 2003)似乎已经起作用.当它启动时,它会写入Service started successfully
日志.当它停止时,它写道Service stopped successfully
.但是,有时服务会在没有向日志写入任何内容的情况下停止运行,因此我会手动启动它.当我随后查看日志时,它Service started successfully
按预期显示.奇怪的是,在日志中连续两次看到它显然缺少一个服务以某种方式停止运行的条目.
这可能是什么原因?我将服务设置为自动并安装它以便为所有用户运行.我的印象是,这意味着只要机器启动,服务就会自动启动.我如何找出它停止的原因?崩溃的服务会自动写入事件日志,还是必须以他们记录崩溃原因的方式处理异常?
编辑:一些额外的信息:
更新:回答者推荐了一个全局异常处理程序.虽然我不会将其作为永久修复来实现,但它至少可以帮助我找出问题发生的位置.我实际上用我安装的服务对它进行了测试,它确实有效 我发现未处理的异常实际上会使服务崩溃,而根本不会向日志写入任何内容.我认为它至少会报告一些应用程序错误,但事实并非如此.
static void Main()
{
AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);
//other code here
}
static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
{
Utilities.WriteIt(e.ExceptionObject as Exception);
}
Run Code Online (Sandbox Code Playgroud) 可能重复:
VB.NET中的多行字符串
在c#中,你可以像:
string s = @"hello there mister";
VB.NET是否有类似的东西不涉及字符串连接?我希望能够在两个双引号之间粘贴多行文本.不知何故,我不相信VB.NET支持这一点.
我想做这个:
Dim Numbers As Integer()() = {{1}, {2}, {3}, {4, 5, 6, 7}}
Run Code Online (Sandbox Code Playgroud)
IDE的强调4, 5, 6, 7
和说法Array initializer has 3 too many elements
.我究竟做错了什么?
我承认,
当我不想让它们破坏时,我习惯在单词之间使用(例如表格标题).我真的应该用我的元素造型white-space:nowrap
吗?如果我唯一要做的就是保持文字不被包装,是否有优点/缺点?
当我部署我的ASP.NET web应用程序到生产,我用一个配置变换去除debug="true"
从<compilation>
.但是,就在今天我注意到web.config中的另一个部分如下所示:
<system.codedom>
<compilers>
<compiler compilerOptions="/define:Debug=True" />
</compilers>
</system.codedom>
Run Code Online (Sandbox Code Playgroud)
这是什么?事实上,那是否会破坏将其从中移除的目的<compilation>
?如果我删除上面显示的属性会怎样?
我的VS2013项目很奇怪.我最近将我的一个项目分支从.NET 4.0升级到4.5.1并使用NuGet包管理器用Razor安装MVC 5,这样我就可以拥有一个WebForms/MVC混合.到目前为止,它工作正常,我可以使用WebForms和MVC.
但是,同一项目的所有其他分支(例如生产分支)在未更改时似乎已损坏.当我运行其他项目之一时,我得到:
Could not determine which version of ASP.NET Web Pages to use.
经过一番环顾,我看到有人建议把它放在web.config appSettings中:
<add key="webpages:Version" value="2.0.0.0"/>
现在当我运行项目时,我得到了这个:
HTTP Error 404.0 - Not Found
还有什么奇怪的是URL指向这个:
http://localhost:53305/Account/Login?ReturnUrl=%2findex.aspx
我不知道如何在不同的代码分支中对MVC 5进行更改会影响我的其他项目,这些项目仍然是使用4.0框架的直接WebForms.
编辑:值得注意的是,我的其他完全独立的WebForms项目仍然有效.它只是这个特定项目的其他分支似乎被打破了.这几乎就像在所有这些已经修改的分支之间共享一些公共配置文件,最终仅适应升级到MVC 5的分支.
编辑:如果我如何安装NuGet包有问题,这就是我做的:
我的其他分支机构没有安装此软件包.它只是一个分支.不知何故,它影响了所有分支,我不知道为什么.
当您使用+=
运算符创建事件处理程序时,Visual Studio为您提供了按TAB键自动创建处理程序的选项。这样做会创建一个具体的方法,如下所示:
consoleListBox.OnKeyPress += ConsoleListBox_OnKeyPress;
private static void ConsoleListBox_OnKeyPress(ConsoleControl sender, ConsoleKeyInfo keyInfo)
{
}
Run Code Online (Sandbox Code Playgroud)
但是有可能让VS这样创建一个本地的,内联的异常处理程序吗?
consoleListBox.OnKeyPress += (sender, keyInfo) =>
{
};
Run Code Online (Sandbox Code Playgroud)
它非常干净,特别是如果我不需要当前上下文之外的处理程序时。我现在手动创建这些,但是如果有一种自动创建本地处理程序的方法,那就太好了。
c# ×3
.net ×2
asp.net ×2
javascript ×2
vb.net ×2
.net-4.0 ×1
asp.net-mvc ×1
debugging ×1
events ×1
html ×1
join ×1
nowrap ×1
nuget ×1
sleep ×1
space ×1
sql ×1
static ×1
teradata ×1
updatepanel ×1
wait ×1
web-config ×1
webforms ×1
whitespace ×1