我有一个包含四个文本列的excel文件:其中一个名为ShortDescription,具有最长的值.我在SQL Server 2008数据库中创建了一个表,其中包含四列,ShortDescription列类型设置为NvarChar(Max).
但是当使用SSIS导入和导出对话框时,即使我将OnTruncation选项设置为Ignore,我仍会在标题中收到上述错误.
我试图清除列数据,并且它成功了(所以我确保问题出在ShortDescription列中).我试图将整个数据复制到另一本excel工作簿,但仍然没有运气.
有任何想法吗 ???
如何为枚举创建默认编辑器模板?我的意思是:我可以做这样的事情:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<Enum>" %>
<% -- any code to read the enum and write a dropdown -->
Run Code Online (Sandbox Code Playgroud)
并将其放在EditorTemplates文件夹下的名称下Enum.ascx
?
这是我尝试过的问题的解决方法,但这不是我需要的.
这是我的枚举:
public enum GenderEnum
{
/// <summary>
/// Male
/// </summary>
[Description("Male Person")]
Male,
/// <summary>
/// Female
/// </summary>
[Description("Female Person")]
Female
}
Run Code Online (Sandbox Code Playgroud)
我制作了一个名为的模板GenderEnum.acsx
并将其放入Shared/EditorTemplates
文件夹中.这是模板:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<AlefTech.HumanResource.Core.GenderEnum>" %>
<%@ Import Namespace="AlefTech.HumanResource.WebModule.Classes" %>
<%=Html.DropDownListFor(m => m.GetType().Name, Model.GetType()) %>
Run Code Online (Sandbox Code Playgroud)
当然这个方法是我自己的:
public static class HtmlHelperExtension
{
public static MvcHtmlString DropDownListFor<TModel, TProperty>(this HtmlHelper<TModel> htmlHelper, Expression<Func<TModel, …
Run Code Online (Sandbox Code Playgroud) 当我进入他们的文件时,我突然在.Net框架源代码中调试,Visual Studio 2010引发了这个错误:
文件加载:
加载文件XXX时,某些字节已被Unicode替换字符替换,保存文件将不保留原始文件内容.
当我单击"确定"时,文件被标记为未保存,当您尝试保存文件时,它表示该文件已被锁定,但我可以覆盖该文件.我不知道这个消息意味着什么.
为什么现在,这不是Visual Studio第一次从Symbol服务器下载文件?
我找不到这样做之间的区别:
window.onscroll = () => console.log("scroll")
Run Code Online (Sandbox Code Playgroud)
和这个:
window.addEventListener('scroll', () => console.log("scroll"))
Run Code Online (Sandbox Code Playgroud)
除了浏览器兼容性之外,大多数 IE 版本似乎都不支持这两者!
这只是语法差异吗?使用 删除处理程序似乎很简单removeEventListener
,但我假设window.onscroll = null
具有类似的效果。
我错过了什么吗?
假设我有三张桌子,每张桌子都与另一张桌子相关,
当我需要从每个表中获取一列时,它是如何组织(内部联接)?
Select table1.column1,table2.column2,table3.column2
From table1
Inner Join table2 on ..... etc
Inner Join table3 on .....
Run Code Online (Sandbox Code Playgroud)
换句话说,我可以把(table2)放在(From)之后吗?
Select table1.column1,table2.column2,table3.column2
From table2
Inner Join table1 on ..... etc
Inner Join table3 on .....
Run Code Online (Sandbox Code Playgroud) 我正在努力解决这个架构问题,我们的系统正在使用NService Bus,并使用NEventStore和NES实现带有EventSourcing的DDD.客户端应用程序是WPF
我仍然无法确定更新UI的最佳做法是什么,例如:我有一个用于创建的UI(Batch {Id,StartDate,EndDate等...}),在用户点击保存后,我正在发送一个命令(CreateBatch),
Bus.Send<CreateBatch> (batch => {batch.Id = Guid.NewGuid(); .... etc });
Run Code Online (Sandbox Code Playgroud)
现在,
选项1
我可以注册回复如下:
private void btnSave_Click(object sender,EventsArg e){
Bus.Send<CreateBatch> (batch => {batch.Id = Guid.NewGuid(); .... etc })
.Register<int>(c=> {
MessageBox.Show("Command Succeded");
Close();});
}
Run Code Online (Sandbox Code Playgroud)
在服务器端:
public void Hanlde(CreateBatch cmd){
//initiate aggregate and save it.
Bus.Return( /*What ?? Success Code?*/);
}
Run Code Online (Sandbox Code Playgroud)
在这种情况下,如何处理错误?(验证错误,例如已经在同一天开始批量生产?),因为你只能返回int或string !!
选项2:
发送命令,关闭窗口,假设记录已添加到主网格中,直到用户刷新网格并从ReadModel数据库中获取真实数据,或者发现该记录尚未添加但不知道发生了什么!
private void btnSave_Click(object sender,EventsArg e){
Bus.Send<CreateBatch> (batch => {batch.Id = Guid.NewGuid(); .... etc });
Close();
}
Run Code Online (Sandbox Code Playgroud)
选项#3
发送命令,关闭窗口,假冒记录在主网格中添加但标记为(进行中),等待(BatchCreated)事件到达,检查它是否与我们之前发送的批次ID相同,然后将记录标记为在网格中保留.
private void btnSave_Click(object sender,EventsArg e){
Bus.Send<CreateBatch> …
Run Code Online (Sandbox Code Playgroud) 在名为form.ascx的mvc用户控件中,我有一个名为"details"的div中包含的Telerik Grid.
从一个名为edit.aspx的页面我写了以下内容:
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<div id="details">
<%Html.RenderPartial("form", Model != null ? Model.CurrentEntity : null); %>
</div>
<script type="text/javascript" language="javascript">
$(document).ready(function () {
$('#details').dialog(
{ modal: true,
title: "add",
width: 815,
buttons: {
'save': function () { $("form:first").trigger("submit"); },
'close': function () { $(this).dialog('close'); }
}
});
});
</script>
</asp:Content>
Run Code Online (Sandbox Code Playgroud)
问题是对话框永远不会显示!! 并且用户控件显示在母版页内部,就好像我没有使用对话框一样.
在"表单"用户控件内部,当我禁用网格时,每件事情都正常工作,对话框显示正确.当我使用萤火虫找出问题时,出现以下错误:
$未定义????
任何身体都有想法?
这是主页面:
<%@ Master Language="C#" Inherits="System.Web.Mvc.ViewMasterPage" %>
<%@ Import Namespace="Telerik.Web.Mvc.UI" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<link type="text/css" …
Run Code Online (Sandbox Code Playgroud) 嗨这真奇怪!!
但是看下面的asp代码:
<div runat="server" id="MainDiv">
<%foreach (string str in new string[]{"First#", "Second#"})
{ %>
<div id="<%=str.Replace("#","div") %>">
</div>
<%} %>
</div>
Run Code Online (Sandbox Code Playgroud)
现在,如果你把这个代码放在任何网页中(并且不要担心这段代码的道德,我只是为了表明这个想法)你会得到这个错误:
编译器错误消息:CS1518:预期的类,委托,枚举,接口或结构
当然错误与真正的问题无关,我搜索了asp.net生成的代码,并想出了以下内容:
private void @__RenderMainDiv(System.Web.UI.HtmlTextWriter @__w, System.Web.UI.Control parameterContainer)
{
@__w.Write("\r\n ");
#line 20 "blabla\blabla\Default.aspx"
foreach (string str in new string[] { "First#", "Second#" })
{
#line default
#line hidden
@__w.Write("\r\n <div id=\"");
#line 22 "blabla\blabla\Default.aspx"
@__w.Write(str.Replace("#", "div"));
#line default
#line hidden
@__w.Write("\">\r\n ");
}
Run Code Online (Sandbox Code Playgroud)
这是从asp页面生成的代码,这是用于渲染我们的div(MainDiv)的方法,我发现有一个缺少的括号"}"关闭方法或(for循环).
现在问题有三个部分:
1-首先你应该有一个服务器控件(在我们的情况下是MainDiv),我不确定它是否只是div标签.
服务器控制,并使用双引号(例如在其内部的码内2- HTML控制<div id="<%=str
的代替<div id='<%=str
.
3-任何具有块括号例如关键字:为{},而{},使用{} ...等.
现在删除任何部分,将解决问题! …
我有以下WCF:
[OperationContract]
IList<OperationRoomDto> GetOperationRooms();
Run Code Online (Sandbox Code Playgroud)
我有一个使用此WCF的网站,当我使用Visual Studio(Asp.Net开发服务器)时,它工作正常,但是当我将WCF部署到IIS时,我得到以下异常:
远程服务器返回错误:(405)方法不允许.
我做了一个简单的网站来测试这个WCF(在IIS上)并且它工作正常.
这是web.config文件的一部分:
<endpoint address="http://server/WcfService"
binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IMessageService"
contract="MyProject.Web.Wcf.IMessageService" name="BasicHttpBinding_IMessageService">
</endpoint>
Run Code Online (Sandbox Code Playgroud)
以及这部分Web服务配置文件:
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior>
<!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment -->
<serviceMetadata httpGetEnabled="true" />
<!-- To receive exception details in faults for debugging purposes, set the value below to true. Set to false before deployment to avoid disclosing exception information -->
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" …
Run Code Online (Sandbox Code Playgroud) 我使用我在这个问题中找到的解决方案来定制我的项目:
为什么Visual Studio中的ClickOnce不从依赖程序集部署内容文件?
<ItemGroup>
<AdditionalPublishFile Include="$(OutputPath)\**\*.rpt">
<Visible>False</Visible>
</AdditionalPublishFile>
</ItemGroup>
<Target Name="BeforePublish">
<Touch Files="@(IntermediateAssembly)" />
<CreateItem Include="@(AdditionalPublishFile)" AdditionalMetadata="TargetPath=%(RecursiveDir)%(Filename)%(extension);IsDataFile=false">
<Output TaskParameter="Include" ItemName="_DeploymentManifestFiles" />
</CreateItem>
</Target>
Run Code Online (Sandbox Code Playgroud)
它在VS 2010中运行良好,直到我升级到VS 2012,其他文件未包含在应用程序清单中!因此,当用户安装应用程序时,应用程序主文件夹中缺少所提到的文件.
VS 2012有什么变化?或者更改是在MSBuild中?
编辑:
我提到了最初的问题,从我得到了这个想法,基本上我使用依赖注入来加载一些程序集,这意味着我的项目和程序集之间没有硬引用,所以点击一次部署不会考虑那些程序集,它迫使我将它们添加到项目中,或者使用上面提到的解决方案,我选择了上面提到的解决方案,因为它是不可见且容易的.
但是在迁移到VS 2012后它被打破了.
msbuild clickonce publish visual-studio-2010 visual-studio-2012
asp.net ×3
c# ×3
.net ×2
asp.net-mvc ×2
clickonce ×1
codepages ×1
cqrs ×1
debugging ×1
enums ×1
excel ×1
iis-7 ×1
javascript ×1
jquery-ui ×1
msbuild ×1
nservicebus ×1
onscroll ×1
publish ×1
sql ×1
ssis ×1
telerik ×1
telerik-mvc ×1
wcf ×1
wcf-binding ×1
wpf ×1