MessageBoxButtons buttons = MessageBoxButtons.YesNo;
DialogResult result = MessageBox.Show("Are there any other products in the carton?", "Question", buttons, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1);
if (result == DialogResult.Yes)
{
trans.Rollback();
MessageBox.Show("Please go to the controll room for new packaging", "Message");
frmHome main = new frmHome(empid);
main.Show();
this.Hide();
}
if (result == DialogResult.No)
{
trans.Commit();
frmPalletCartonAllocation pca = new frmPalletCartonAllocation(pack, companyIdNo, skuIdNo, UnitsInCarton, UnitsInPack, carton_Code, orderNo, grvIdNo, empid);
pca.Show();
this.Hide();
}
Run Code Online (Sandbox Code Playgroud)
在出现消息框时,"是"按钮会突出显示.我希望"否"按钮突出显示.所以默认'不'.
我该怎么做呢?
我有一个问题 - BizTalk或WF?让我澄清一下,我意识到前三个工件背后的类似技术,并意识到我可以构建它们,但我没有发现它们是内置于WF,所以我试图理解为什么我会使用一个技术优于其他.
转换
BizTalk本身支持的功能非常好,增强的设计人员可以启动,生成模式和地图的能力.此外,我喜欢所有内容都已转换的事实,因为我不必担心我的工作流程中的集成点,因为它始终采用一致的格式,这可以降低我的风险,因为我的集成变异 - 我只需要重构模式和映射.
相比之下,对于WF,我没有内置的豪华,所以我错过了什么或BizTalk在这里有+1?
绑定
绑定是BizTalk中另一个完全封装的功能.我可以将我的工作流设置为具有我想要的任何绑定,因为上述工件意味着在测试期间我可以绑定到文件系统并且在生产期间我可以绑定到服务.
相比之下,对于WF,我没有内置的豪华,所以我错过了什么或BizTalk在这里有+2?
端口/适配器
这很可能是BizTalk中存在的最大工件 - 恕我直言.将物理连接抽象为众多具体实现所需的工作量,特别是在一个非常庞大的组织中,其中一些具体的内容通过基本的文件系统而不是SOAP/REST,以及像IBM Mainframe和MSMQ这样的东西.BizTalk的物理端口适配器在向工作流发送消息之前通过转换自动运行原始数据,非常简单,优雅.
相比之下,对于WF,我没有内置的豪华,所以我错过了什么或BizTalk在这里有+3?
BizTalk未来
最后,我想提一下,根据我的研究,构建BizTalk的同一团队正在构建WF - 这太棒了!此外,微软的长期愿景是这个新的流行词"集成服务器",实际上是一大堆松散耦合的框架,提供了BizTalk今天的功能.由于Azure的努力,这项工作对我来说很有意义 - 我肯定会为此做出贡献.但是,我今天需要实现一个解决方案,这个解决方案将在15年后开始工作,但是如果我利用WF而不是BizTalk,我还需要了解我必须使用哪些部分来组合它.请告诉我你的经历.
biztalk workflow-foundation workflow-foundation-4 biztalk-2010
好的,所以我在搜索存储过程中得到了这行代码:
SET @where = 'job_code = ''' + REPLACE(@job_code, '''', '''''') + ''''
Run Code Online (Sandbox Code Playgroud)
基本上有两个我想简化的操作 - 第一个是用单引号括起连接值.显然,在上面的语句中,我'通过使用两个''然后结束字符串来逃避a ,'所以我可以连接实际值.必须有更好的方法!
第二个操作将是REPLACE(@job_code, '''', '''''')我逃避现场可能存在的任何单引号的地方.
是不是有更优雅的方式来编写这行代码?
我认为这是ESCAPE关键字,但这与LIKE声明紧密相关,所以不要去那里.
并File.AppendAllText管理来自多个作家的冲突?
我注意到MSDN文档并没有提供任何一种位置,所以我决定我会反映代码,看看它的作用.以下是从以下方法调用的方法File.AppendAllText:
private static void InternalAppendAllText(string path, string contents, Encoding encoding)
{
using (StreamWriter streamWriter = new StreamWriter(path, true, encoding))
{
streamWriter.Write(contents);
}
}
Run Code Online (Sandbox Code Playgroud)
而你可以看到它只是利用了一个StreamWriter.所以,如果我们深入研究它,特别是它使用的构造函数,我们发现它最终会调用这个构造函数:
internal StreamWriter(string path, bool append, Encoding encoding, int bufferSize, bool checkHost) : base(null)
{
if (path == null)
{
throw new ArgumentNullException("path");
}
if (encoding == null)
{
throw new ArgumentNullException("encoding");
}
if (path.Length == 0)
{
throw new ArgumentException(Environment.GetResourceString("Argument_EmptyPath"));
}
if (bufferSize <= 0) …Run Code Online (Sandbox Code Playgroud) 我有这样的AdoNetAppender设置:
<log4net>
<appender name="AdoNetAppender_SqlServer" type="log4net.Appender.AdoNetAppender">
<connectionStringName value="DefaultConnection" />
<connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<commandText value="INSERT INTO Log ([Date],[Thread],[Level],[Logger],[Message]) VALUES (@log_date, @thread, @log_level, @logger, @message)" />
<useTransactions value="false" />
<parameter>
<parameterName value="@log_date" />
<dbType value="DateTime" />
<layout type="log4net.Layout.PatternLayout" value="%date{yyyy'-'MM'-'dd HH':'mm':'ss'.'fff}" />
</parameter>
<parameter>
<parameterName value="@thread" />
<dbType value="String" />
<size value="255" />
<layout type="log4net.Layout.PatternLayout" value="%thread" />
</parameter>
<parameter>
<parameterName value="@log_level" />
<dbType value="String" />
<size value="50" />
<layout type="log4net.Layout.PatternLayout" value="%level" />
</parameter>
<parameter>
<parameterName value="@logger" />
<dbType …Run Code Online (Sandbox Code Playgroud) 我有按钮,用于验证用户是否是管理员.如果用户当前登录不是管理员,则标签将显示为警告消息,然后在几秒钟后隐藏.我尝试使用lblWarning.Hide();并lblWarning.Dispose();在警告消息之后,但问题是,它甚至在显示警告消息之前隐藏了消息.这是我的代码.
private void button6_Click(object sender, EventArgs e)
{
if (txtLog.Text=="administrator")
{
Dialog();
}
else
{
lblWarning.Text = "This action is for administrator only.";
lblWarning.Hide();
}
}
Run Code Online (Sandbox Code Playgroud) 根据sysobjects文档,sysobjects.xtype可以是以下对象类型之一:
| xtype | Description |
|-------|---------------------------------------|
| AF | Aggregate function (CLR) |
| C | CHECK constraint |
| D | Default or DEFAULT constraint |
| F | FOREIGN KEY constraint |
| L | Log |
| FN | Scalar function |
| FS | Assembly (CLR) scalar-function |
| FT | Assembly (CLR) table-valued function |
| IF | In-lined table-function |
| IT | Internal table |
| P | …Run Code Online (Sandbox Code Playgroud) 考虑以下标记:
<h2>Edit SAS Program</h2>
@using (Html.BeginForm("Edit", "SasProgram", FormMethod.Post))
{
<label for="Name">Name</label>
@Html.TextBoxFor(model => model.Name)
using (Html.BeginForm("Delete", "SasProgram", FormMethod.Post))
{
<input type="submit" class="button" value="Delete" />
}
<input type="submit" class="button" value="Save Changes" />
}
Run Code Online (Sandbox Code Playgroud)
我想把Delete按钮放在与...相同的视图上Edit.但是,它不会让我有嵌套的表单.处理这种情况的适当方法是什么?
我尝试利用这个答案,如何处理ASP.NET MVC中的嵌套表单,但现在它已经是一个断开的链接.
有没有办法为函数提供一个名称,然后返回具有该名称的给定对象上的字段或属性的值?我尝试使用null-coalesce运算符解决它,但显然不喜欢不同的类型(这对我来说也有点奇怪,因为null为null).我可以把它分成如果为空,但必须有一个更好的方法来做到这一点.这是我的函数,带有Comparison对象的两行不能编译,但是我会把它们放在那里以显示我想要做的事情.
private void SortByMemberName<T>(List<T> list, string memberName, bool ascending)
{
Type type = typeof (T);
MemberInfo info = type.GetField(memberName) ?? type.GetProperty(memberName);
if (info == null)
{
throw new Exception("Member name supplied is neither a field nor property of type " + type.FullName);
}
Comparison<T> asc = (t1, t2) => ((IComparable) info.GetValue(t1)).CompareTo(info.GetValue(t2));
Comparison<T> desc = (t1, t2) => ((IComparable) info.GetValue(t2)).CompareTo(info.GetValue(t1));
list.Sort(ascending ? asc : desc);
}
Run Code Online (Sandbox Code Playgroud)
我听说过可以使用的动态linq,但为了学习,我正在按照自己的方式行事.
我有一些JavaScript:
surveyBusy.show();
$.getJSON(apiUrl + '/' + id)
.done(function (data) {
...
surveyBusy.hide();
})
.fail(function (jqXHR, textStatus, err) {
...
surveyBusy.hide();
});
Run Code Online (Sandbox Code Playgroud)
不过,我想只能发出surveyBusy.show();,如果$.getJSON需要超过n毫秒数.否则你会闪烁.getJSONapi 上是否有可以执行此操作的回调?我在文档中看不到任何内容.
c# ×6
.net ×5
sql ×2
sql-server ×2
winforms ×2
ajax ×1
asp.net ×1
asp.net-mvc ×1
biztalk ×1
biztalk-2010 ×1
html ×1
io ×1
javascript ×1
jquery ×1
log4net ×1
reflection ×1
t-sql ×1