小编Ev.*_*Ev.的帖子

从页面基类中查找页面中的控件

希望你有一个愉快的星期五和东西...好吧,所以这是我的问题:

我的所有ASPX页面都继承自一个名为BasePage的基类.BasePage继承自:

System.Web.UI.Page
Run Code Online (Sandbox Code Playgroud)

现在,如何从我的页面基页访问/设置我的aspx页面中的控件?我试过这个:

HyperLink hypMainMenu = (HyperLink)Page.FindControl("hypMainMenu");
hypMainMenu.NavigateUrl = AppConfiguration.AppSettings.Urls.MainMenu;
Run Code Online (Sandbox Code Playgroud)

但是hypMainMenu总是空的 - 我找不到这个混蛋.有任何想法吗?或者这是一种不好的做法,有人可以推荐一种更好的方法吗?

提前致谢!

c# asp.net inheritance findcontrol hyperlink

5
推荐指数
1
解决办法
3449
查看次数

SQL Server:将整数列表插入临时表

我在文本文件中有一个 ID 列表,如下所示:

24641985 ,
24641980 ,
24641979 ,
24641978 ,
24641976 ,
24641974 ,
...
...
24641972 ,
24641971 ,
24641970 ,
24641968 ,
24641965)
Run Code Online (Sandbox Code Playgroud)

有数以万计。

现在我需要知道此列表中的哪些 ID 与我表中的 ID 不对应。

我想我应该把它们放在一个临时表中,然后说:

select theId 
  from #tempIdCollection
 where theId not in (select customerId from customers)
Run Code Online (Sandbox Code Playgroud)

问题是我不知道如何将它们放入临时表!

任何人都可以帮忙吗?这不一定是高效的。我只需要运行一次。欢迎任何解决方案建议!

提前致谢!

-Ev

sql-server

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

Postsharp:如何在异常后设置返回值

使用Postsharp,如何在抛出异常后设置返回值?

我认为这会奏效:

namespace MvcApplication3.Controllers
{
    public class ValuesController : ApiController
    {
        // GET api/values/5
        [MyExceptionHandler]
        public string Get(int id)
        {
            string value = GetValue(id);
            return value;
        }

        private string GetValue(int id)
        {
            throw new DivideByZeroException();
        }
    }

    [Serializable]
    public class MyExceptionHandler : OnExceptionAspect
    {
        public override void OnException(MethodExecutionArgs args)
        {
            args.FlowBehavior = FlowBehavior.Continue;
            args.ReturnValue = "Error Getting Value";
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

c# postsharp

5
推荐指数
1
解决办法
788
查看次数

如何在IIS实例中的所有应用程序/虚拟目录/版本之间共享Oracle连接池?

如何在IIS实例中的所有应用程序/虚拟目录/版本之间共享Oracle连接池?

c# oracle iis

5
推荐指数
1
解决办法
1043
查看次数

如何指定 Nuget 架构?

我在用于创建 nuget 包的同一个解决方案中有两个项目。当我获取这些包中的每一个并将其解压缩以找到生成的 nuspec 时,我发现它们每个都针对不同的 xml 模式。

套餐A:

<?xml version="1.0"?>
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
Run Code Online (Sandbox Code Playgroud)

套餐B:

<?xml version="1.0"?>
<package xmlns="http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd">
Run Code Online (Sandbox Code Playgroud)

这是一个问题,因为我的构建服务器想要使用 nuget 1.7 版推送它们(我无法升级它),所以只会推送包 A。

如何强制包 B 以与 A 相同的模式为目标?

附加信息:包 A 目标 .Net 4.0 包 B 目标 .Net 3.5 我正在本地打包 nuget 2.8,可以确认相同的命令生成不同的架构版本:

nuget pack xxx.csproj -IncludeReferencedProjects -OutputDirectory c:\nuget\MyPackageLibrary -verbosity detailed
Run Code Online (Sandbox Code Playgroud)

(我有一个相应的 xxx.nuspec 文件用于元数据)

我试过在 .nuspec 文件中不指定架构

<?xml version="1.0"?>
<package>
<metadata>
Run Code Online (Sandbox Code Playgroud)

我试过指定:

<?xml version="1.0"?> <package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd"> <metadata>
Run Code Online (Sandbox Code Playgroud)

但它对我解压缩打包工件时找到的 .nuspec 没有影响。

xml visual-studio nuget

5
推荐指数
1
解决办法
2692
查看次数

XSL:如何测试当前节点是否是另一个节点的后代

我是XSLT的新手,但现在需要将它用于CMS.我已经提出了一个问题,但我会尝试描述我的问题,而不会涉及有关底层CMS的太多信息.如果您需要更多上下文来帮助我,我可以添加它.

所以我想要做的就是测试我的xml节点是否是特定节点的后代.

<xsl:if test="$currentNode::IsADescendantOf($someNode)">
Write this out.
</xsl:if>
Run Code Online (Sandbox Code Playgroud)

任何人的想法?

提前致谢 :)

xml xslt descendant

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

函数"fn:encode-for-uri"导致XSLT错误

我需要URL在XSLT中编码一个字符串,但函数:

fn:encode-for-uri
Run Code Online (Sandbox Code Playgroud)

打破脚本.我在网上查了一下,显然它是命名空间的一部分

http://www.w3.org/2005/xpath-functions
Run Code Online (Sandbox Code Playgroud)

所以我将以下行添加到我的XSLT文件的顶部无济于事.

xmlns:fn="http://www.w3.org/2005/xpath-functions" 
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?我在Visual Studio中逐步完成它,我得到了异常:

Cannot find a script or an extension object associated with namespace 'http://www.w3.org/2005/xpath-functions'.
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

-ev

xml xslt

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

来自ASHX处理程序的Sever.Transfer,HttpContext.Current.Session为null

所以我正在尝试Server.Transfer从通用处理程序到常规ASPX页面.

它转移好,但它发现它HttpContext.Current.Session是空的.

谁知道为什么?

谢谢您的帮助!

-ev

asp.net

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

你能在SQL WHERE clasue中使用"on-the-fly"列名吗?

我的SQL有点生疏了.

我以为我可以这样做:

SELECT *, DATEADD(d, 1 ,dStartDateTime) dCloseDate
FROM EventItem 
WHERE dCloseDate > '1990-01-01 07:00:00.000'
Run Code Online (Sandbox Code Playgroud)

但是,当我这样做时,我收到错误:

Invalid column name 'dCloseDate'.
Run Code Online (Sandbox Code Playgroud)

有人知道解决方法吗?我只是想这样做,使我的代码更具可读性/可维护性.

关于为什么我不应该这样做的任何建议也将不胜感激:)

sql sql-server

3
推荐指数
1
解决办法
765
查看次数

SqlException未被捕获

我有一个ASP.Net应用程序,代码如下:

    try
    {
        sql = new SqlProc("prcCustomerAgeSelect",
            SqlProc.InParam("@DateFrom", SqlDbType.DateTime, 8, _OrderDateFrom),
            SqlProc.InParam("@DateTo", SqlDbType.DateTime, 8, _OrderDateTo),
        sql.Command.CommandTimeout = 1;
        dt = sql.ExecuteTable();

    }
    catch (SqlException ex)
    {
        Filter.ErrorMessage = "Please narrow your search criteria.";
    }
Run Code Online (Sandbox Code Playgroud)

注意这一行:

sql.Command.CommandTimeout = 1;

这导致抛出SqlException(用于测试).

我本以为catch块会捕获这个异常,但事实并非如此.相反,我得到:

超时已过期.操作完成之前经过的超时时间或服务器没有响应.

[SqlException(0x80131904):超时已过期.操作完成之前经过的超时时间或服务器没有响应.]

它为什么不抓住它?我使用的是错误的类型吗?我在这里错过了什么?

提前致谢!!

-ev

c# sql-server asp.net

3
推荐指数
1
解决办法
1132
查看次数