小编Mat*_*att的帖子

如果没有找到行SQL,则返回一个值

这是我的简单查询.如果我查询不存在的记录,那么我将不会返回任何内容.我更喜欢在那个场景中返回false(0).寻找简单的方法来解释没有记录.

SELECT  CASE
            WHEN S.Id IS NOT NULL AND S.Status = 1 AND (S.WebUserId = @WebUserId OR S.AllowUploads = 1) THEN 1
            ELSE 0
        END AS [Value]

        FROM Sites S

        WHERE S.Id = @SiteId
Run Code Online (Sandbox Code Playgroud)

sql t-sql

88
推荐指数
7
解决办法
30万
查看次数

ASP.NET自定义控件 - 未知的服务器标记

我已经制作了一个继承自Literal控件的自定义控件.当我尝试在页面上使用我的控件时,会抛出解析错误.我已将此添加到我的web.config中

<configuration>
  <system.web>
    <pages>
      <controls>
        <add tagPrefix="one" namespace="myApplication.Controls"/>
      </controls>
    </pages>
  </system.web>
</configuration>
Run Code Online (Sandbox Code Playgroud)

我已将此添加到我的页面中

<%@ register namespace="myApplication.Controls" tagprefix="one" %>
Run Code Online (Sandbox Code Playgroud)

这些都没有解决这个问题.我有一个带有一些自定义控件的外部程序集,可以在我的项目中正常工作.作为一种解决方法,如果没有简单的解决方案,我正在考虑将我的自定义控件移动到外部库中.

- 编辑

这是页面代码.

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="SignUp.ascx.cs" Inherits="myApplication.Controls.SignUp" %>
<%@ register namespace="myApplication.Controls" tagprefix="one" %>
<div class="in">
    <span>      
        <one:resourceliteral id="lblFirstname" runat="server" resourcekey="FirstName" resourceresolver="ResourceStringResolver.GetResourceString">
        </one:resourceliteral>      
        </span>
    <div>
        <pl:textbox id="txtFirstName" runat="server"></pl:textbox>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

这是我实际控制的代码

namespace myApplication.Controls
{
    public class ResourceLiteral : Literal
    {
        private ResourceManager rm;

        public delegate string dResourceResolver( string label, eLanguage language );

        public event dResourceResolver ResourceResolver;

        public string ResourceKey { …
Run Code Online (Sandbox Code Playgroud)

c# asp.net custom-controls

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

在web.config中添加程序集引用

我有一些关于web.config的常见问题以及它如何与程序集引用有关.我一直在玩新的Razor视图引擎,并且在启动和运行时遇到了一些麻烦.

我的问题始于一般

名称空间"XXXXX"中不存在类型或命名空间名称"XXXXX"(您是否缺少程序集引用?)

现在我认为这只是一个简单的项目添加参考,我将继续前进.但即使我添加了对缺失组件的引用,我的项目也一直在破碎.

我找到了解决方案,我不得不在web.config中添加一个程序集引用.一旦我这样做,一切正常.

首先,我想了解为什么需要添加对web.config的引用来解决此问题.为什么项目参考不够好?

其次,在web.config中添加引用时,我想了解语法.当我看到这样的标记时

<add assembly="System.Web.WebPages" />

我似乎很清楚我正在添加一个名为System.Web.WebPages的程序集.但是我的web.config中的完整语法是

<add assembly="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

版本似乎是自解释的,但是文化和PublicKeyToken用于什么?他们需要吗?如果我不知道其中任何一个会发生什么,我可以放入任何东西吗?

asp.net web-config

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

了解Silverlight Dispatcher

我有一个无效的跨线程访问问题,但有一点研究,我设法通过使用Dispatcher修复它.

现在在我的应用程序中,我有延迟加载的对象.我使用WCF进行异步调用,像往常一样,我使用Dispatcher更新我的对象DataContext,但它不适用于这种情况.不过我在这里找到了解决方案.这是我不明白的.

在我的UserControl中,我有代码在我的对象上调用Toggle方法.对此方法的调用是在Dispatcher中,如此.

Dispatcher.BeginInvoke( () => _CurrentPin.ToggleInfoPanel() );
Run Code Online (Sandbox Code Playgroud)

正如我之前提到的,这还不足以满足Silverlight.我不得不在我的对象中进行另一个 Dispatcher调用.我的对象不是UIElement,而是一个处理所有自己的加载/保存的简单类.

所以问题是通过调用来解决的

Deployment.Current.Dispatcher.BeginInvoke( () => dataContext.Detail = detail );
Run Code Online (Sandbox Code Playgroud)

在我班上.

为什么我必须两次调用Dispatcher来实现这一目标?高级电话不应该足够吗?在UIElement中Deployment.Current.Dispatcher和Dispatcher 之间有区别吗?

c# silverlight wcf asynchronous dispatcher

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

如何在SQL Server中选择前100个字符?

我想将列截断为最多100个字符.你如何在SQL Server中这样做?

sql sql-server

21
推荐指数
3
解决办法
6万
查看次数

在IE中没有触发的空div悬停事件

我有一个带有子div的div.当鼠标悬停在父div上时,我使用jQuery来显示/隐藏子div(父div跨越页面的整个底部.宽度:100%和高度100px).我已经使用了firebug和ie开发人员工具栏来确认父div在页面上.

我可以将鼠标悬停在Chrome和FireFox中的空父div上,一切正常.IE要求我有一些文本在里面悬停.div hover事件不会只用一个空div来触发.

所有合理的解决方案都适用于这个问题?

--update

尝试了所有的建议,但没有任何工作.

<div id="toolBar">          
  <div>
    <button id="btnPin" title="Click to pin toolbar" type="button">
      <img id="pin" src="../../images/icons/unpin.png" alt="Pin" /></button>
      <img src="../../images/icons/search.png" border="0" alt="Search" />
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

上面的html包含在母版div容器中.使用jQuery隐藏子div并进行一些悬停/输出事件.父div(toolBar)始终在页面上可见.当工具栏上发生悬停时,会显示子div.

继承人jQuery代码

$('#toolBar').hover(ToolBar_OnHover, ToolBar_OnBlur);

function ToolBar_OnHover() {

  $(this).children().fadeIn('fast');
  $(this).animate({ height: "100px" }, "fast");

}

function ToolBar_OnBlur() {

  $(this).children().fadeOut('fast');
  $(this).animate({ height: "50px" }, "fast");

}
Run Code Online (Sandbox Code Playgroud)

最后这里有点css

#toolBar { width: 100%; height: 100px; text-align:center; vertical-align:middle; position: absolute;  bottom: 0; background-color: Transparent;  }
#toolBar div { padding: 5px 5px 0px 5px; width:75%; height: 95px; background: …
Run Code Online (Sandbox Code Playgroud)

jquery internet-explorer hover mousehover

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

强制绑定更新Silverlight

如何强制我的对象DataContext绑定更新?我在网格上使用了一个事件,并且在我的事件触发之前没有处理绑定更新.

任何廉价的技巧来解决这个问题?最后,我总是可以通过旧的手动方式从我的文本框中获取值并更新我的对象,但是为我做绑定是很好的.

UPDATE

我的网格包含两个文本框.如果用户单击网格(MouseButtonUp事件),则保存更改.但是在我的MouseButtonUp事件处理程序中,datacontext还不是最新的.我想是因为文本框只在焦点丢失时更新.

data-binding silverlight

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

通用Windows平台(UWP)缺少属性的反射

Type t = obj.GetType();
t.IsEnum;
t.IsPrimitive;
t.IsGenericType
t.IsPublic;
t.IsNestedPublic
t.BaseType
t.IsValueType
Run Code Online (Sandbox Code Playgroud)

UWP中缺少以上所有属性.我现在如何检查这些类型?

c# reflection uwp

16
推荐指数
1
解决办法
5547
查看次数

使用类型C#重载方法

我想知道以下是否可行.创建一个接受匿名类型(string,int,decimal,customObject等)的类,然后重载方法根据Type执行不同的操作.例

    class TestClass<T>
{
  public void GetName<string>()
  {
      //do work knowing that the type is a string    
  }

  public string GetName<int>()
  {
      //do work knowing that the type is an int

  } 

  public string GetName<int>(int addNumber)
  {
      //do work knowing that the type is an int (overloaded)    
  } 

  public string GetName<DateTime>()
  {
      //do work knowing that the type is a DateTime

  } 

  public string GetName<customObject>()
  {
      //do work knowing that the type is a customObject type    
  }

}
Run Code Online (Sandbox Code Playgroud)

所以现在我可以调用GetName方法,因为我在初始化对象时已经传入了类型,所以找到并执行了正确的方法.

TestClass …
Run Code Online (Sandbox Code Playgroud)

c# types overloading overload-resolution

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

客户端WCF DataContract具有来自服务的空/空值

我有一个简单的WCF服务,从服务器返回时间.我已经确认通过Fiddler检查发送数据.这是我的服务发送的结果对象xml.

    <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
     <s:Body>
        <GetTimeResponse xmlns="http://tempuri.org/">
            <GetTimeResult xmlns:a="http://schemas.datacontract.org/2004/07/TestService.DataObjects" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
                <a:theTime>2010-03-26T09:14:38.066372-06:00</a:theTime>
            </GetTimeResult>
        </GetTimeResponse>
     </s:Body>
   </s:Envelope>
Run Code Online (Sandbox Code Playgroud)

所以,据我所知,服务器端没有任何问题.它正在接收请求并返回结果.

但是在我的silverlight客户端上,返回对象的所有成员都是null,空白或默认的vaule.如您所见,服务器返回当前日期和时间.但是在silverlight中,我对象上的Time属性设置为1/1/0001 12:00 AM(默认值).

Sooo认为DataContracts在服务器和silverlight客户端之间不匹配.这是服务器的DataContract

    [DataContract]
 public class Time
 {
  [DataMember]
  public DateTime theTime { get; set; }
 }
Run Code Online (Sandbox Code Playgroud)

非常简单.这是我的silverlight客户端上的datacontract.

    [DataContract]
 public class Time
 {
  [DataMember]
  public DateTime theTime { get; set; }
 }
Run Code Online (Sandbox Code Playgroud)

字面上唯一的区别是应用程序中的命名空间.但是返回的值仍然是null,空或.NET默认值.

谢谢你的帮助!

UPDATE

这是我的所有服务都运行的ClientBase.我在这里读了一篇很好的文章来构建它.

public class ClientBase<T> where T :class 
{
    private T Channel { get; set; }

    private Type ContractType { get; set; }

    private ClientBase()
    { …
Run Code Online (Sandbox Code Playgroud)

silverlight wcf datacontract emptydatatext

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