小编Nou*_*uny的帖子

文本被截断或目标代码页中的一个或多个字符不匹配从Excel文件导入时

我有一个包含四个文本列的excel文件:其中一个名为ShortDescription,具有最长的值.我在SQL Server 2008数据库中创建了一个表,其中包含四列,ShortDescription列类型设置为NvarChar(Max).

但是当使用SSIS导入和导出对话框时,即使我将OnTruncation选项设置为Ignore,我仍会在标题中收到上述错误.

我试图清除列数据,并且它成功了(所以我确保问题出在ShortDescription列中).我试图将整个数据复制到另一本excel工作簿,但仍然没有运气.

有任何想法吗 ???

excel ssis codepages import-from-excel sql-server-2008

58
推荐指数
4
解决办法
9万
查看次数

如何为枚举制作默认的编辑器模板?

如何为枚举创建默认编辑器模板?我的意思是:我可以做这样的事情:

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

asp.net asp.net-mvc enums mvc-editor-templates

20
推荐指数
4
解决办法
8481
查看次数

文件加载在加载文件时,某些字节已被Unicode替换字符替换

当我进入他们的文件时,我突然在.Net框架源代码中调试,Visual Studio 2010引发了这个错误:

文件加载:
加载文件XXX时,某些字节已被Unicode替换字符替换,保存文件将不保留原始文件内容.

当我单击"确定"时,文件被标记为未保存,当您尝试保存文件时,它表示该文件已被锁定,但我可以覆盖该文件.我不知道这个消息意味着什么.

为什么现在,这不是Visual Studio第一次从Symbol服务器下载文件?

.net c# debugging visual-studio-2010

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

window.onscroll 和 window.addEventListener 有什么区别

我找不到这样做之间的区别:

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具有类似的效果。

我错过了什么吗?

javascript addeventlistener onscroll

9
推荐指数
1
解决办法
4185
查看次数

如何在(选择)语句中最好地组织内部联接

假设我有三张桌子,每张桌子都与另一张桌子相关,

当我需要从每个表中获取一列时,它是如何组织(内部联接)?

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)

sql

8
推荐指数
2
解决办法
3054
查看次数

发送命令后更新UI

我正在努力解决这个架构问题,我们的系统正在使用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)

c# wpf nservicebus cqrs event-sourcing

7
推荐指数
1
解决办法
633
查看次数

使用带有jquery ui对话框的telerik网格!

在名为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)

c# asp.net-mvc jquery-ui telerik telerik-mvc

6
推荐指数
2
解决办法
9857
查看次数

在asp.Net中,在控制标记中编写代码会生成编译错误

嗨这真奇怪!!

但是看下面的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-任何具有块括号例如关键字:为{},而{},使用{} ...等.

现在删除任何部分,将解决问题! …

asp.net compiler-construction compiler-errors

6
推荐指数
2
解决办法
830
查看次数

使用IIS时不允许405的方法

我有以下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)

.net asp.net wcf iis-7 wcf-binding

6
推荐指数
1
解决办法
6500
查看次数

使用VS 2012停止的Click-once发布addtional文件

我使用我在这个问题中找到的解决方案来定制我的项目:

为什么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

6
推荐指数
1
解决办法
831
查看次数