小编Ali*_*air的帖子

ASP.NET MVC3:调试和发布应用程序设置不起作用

我的调试和发布web.config应用程序设置未正确读取.

Web.config文件:

<appSettings>
 <add key="webpages:Version" value="1.0.0.0"/>
 <add key="ClientValidationEnabled" value="true"/>
 <add key="UnobtrusiveJavaScriptEnabled" value="true"/>
</appSettings>
Run Code Online (Sandbox Code Playgroud)

Web.Debug.config

<appSettings>
    <add key="ErrorEmailAddress" value="developerEmail@email.com" />
    <add key="TestModeEmailAddress" value="developerEmail@email.com" />
</appSettings>
Run Code Online (Sandbox Code Playgroud)

Web.Release.config

<appSettings>
    <add key="ErrorEmailAddress" value="prodErrorEmail@email.com" />
</appSettings>
Run Code Online (Sandbox Code Playgroud)

但是,致电:

WebConfigurationManager.AppSettings["ErrorEmailAddress"]
Run Code Online (Sandbox Code Playgroud)

返回null(调试时).

我试过添加xdt:Transform ="Insert"例如

<add key="ErrorEmailAddress" value="prodErroEmail@email.com" xdt:Transform="Insert" />
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

asp.net-mvc web-config

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

从MVC版本1迁移后,ASP.NET MVC 2 actionlink中断

我正在将我的应用程序从asp.net mvc迁移到mvc版本2,并且遇到以下问题.

我有每个页面中包含的分页链接<< <> >>.像这样:

        <% Html.RenderPartial("PagingControl", Model); %>
Run Code Online (Sandbox Code Playgroud)

它们存在于ascx文件中,如下所示.

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<BankingDB.Controllers.Utility.IPagedSortedObject>" %>
    <div class="paging">
        <div class="previous-paging">
<!- error!! -><%= Model.HasPreviousPage ? Html.ActionLink("<<", "Index", Model.buildParams(1)) : "<<"%>
            <%= Model.HasPreviousPage ? Html.ActionLink("<", "Index", Model.buildParams(Model.PreviousPageIndex)) : "<"%>
        </div>
        <div class="paging-details">
            Showing records <%= Model.BaseRecordIndex %> to <%= Model.MaxRecordIndex %> of <%= Model.TotalRecordCount %>
        </div>
        <div class="next-paging">
            <%= Model.HasNextPage ? Html.ActionLink(">", "Index", Model.buildParams(Model.NextPageIndex)) : ">"%>
            <%= Model.HasNextPage ? Html.ActionLink(">>", "Index", Model.buildParams(Model.PageCount)) : ">>"%>
        </div>        
    </div>
Run Code Online (Sandbox Code Playgroud)

当我尝试访问该页面时,我收到错误:

CS0173:无法确定条件表达式的类型,因为'System.Web.Mvc.MvcHtmlString'和'string'之间没有隐式转换

错误标记在上方,似乎与操作链接有关.包括控制器名称没有帮助.有任何想法吗?

asp.net-mvc asp.net-mvc-2

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

如何在MSpec中的每个测试中运行设置和拆卸代码?

我有用于设置和拆除NHibernate的通用代码,我几乎所有的测试都需要它.有没有办法在一个地方包含"需要所有测试"代码,然后将其应用于所有测试?(比如Nunit setupteardown方法)

[Subject("Accessing the TAE allocation page")]
public class when_a_request_to_the_tae_allocation_page_is_made
{
    Establish context = () => NHTestHelper.StartTest(); //need for all tests

    Because of = () => result = new AllocationController(true).Index();

    It should_display_the_page = () => result.ShouldBeAView();

    Cleanup nh = () => NHTestHelper.EndTest(); //need for all tests

    static ActionResult result;
}
Run Code Online (Sandbox Code Playgroud)

.net nhibernate mspec

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

double减去double给出精度问题

我在.NET中遇到了一个精度问题,我认为这只适用于浮点数,但现在我看到double是浮点数.

double test = 278.97 - 90.46;
Debug.WriteLine(test) //188.51000000000005

//correct answer is 188.51
Run Code Online (Sandbox Code Playgroud)

处理这个问题的正确方法是什么?回合?丢掉不需要的小数位?

c# precision double

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

谷歌CDN没有gzipping jquery

如果我在这里导航:http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js

我使用Firefox 3.6.3下载70k,我可以确认它正在发送Accept-Encoding:gzip.

如果我使用Microsoft的:http://ajax.microsoft.com/ajax/jquery/jquery-1.4.2.min.js

我下载30k(它来自内容编码:gzip)

在常规站点(例如jquery.com)中使用jquery 1.4.2时,我也遇到了这种情况.很有趣的是,在google cdn上引用jquery 1.3.2的堆栈溢出正在通过gzip压缩.

为什么会这样?这是谷歌的某种问题还是我错过了什么?

我住在澳大利亚墨尔本.

编辑:oops混淆了链接.嗯http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js对我有用..看起来它只是1.4包含一个

jquery gzip cdn

8
推荐指数
1
解决办法
4782
查看次数

ASP.NET MVC:添加将DisplayName合并到自定义ValidationAttribute的自定义ErrorMessage

我正在使用带有DataAnnotations的ASP.NET MVC.我创建了以下自定义ValidationAttribute,它可以正常工作.

public class StringRangeAttribute : ValidationAttribute
{
    public int MinLength { get; set; }
    public int MaxLength { get; set; }

    public StringRangeAttribute(int minLength, int maxLength)
    {   
        this.MinLength = (minLength < 0) ? 0 : minLength;
        this.MaxLength = (maxLength < 0) ? 0 : maxLength;
    }

    public override bool IsValid(object value)
    {            
        //null or empty is <em>not</em> invalid
        string str = (string)value;
        if (string.IsNullOrEmpty(str))
            return true;

        return (str.Length >= this.MinLength && str.Length <= this.MaxLength);
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,出现的错误消息是标准的"字段*无效".我想将其更改为:"[DisplayName]必须介于[minlength]和[maxlength]之间",但我无法弄清楚如何从此类中获取DisplayName甚至字段的名称.

谁知道?

asp.net-mvc data-annotations

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

NHibernate:根据列获取不同的结果,但检索所有列

我有一个包含GLCode的表GL.我需要获取一个唯一的GLCode列表,但获取所有其他列.以下SQL生成我想要的结果.

select * from GL where GLId in (select Min(GLId) from GL group by GLCode )
Run Code Online (Sandbox Code Playgroud)

有没有办法使用Criteria API执行此操作?

这是我最好的尝试:

        var subQuery = DetachedCriteria.For<GL>();
        subQuery
            .SetProjection(Projections.Property("GLCode"))                
            .SetResultTransformer(new DistinctRootEntityResultTransformer());

        return (List<GL>)currentSession
            .CreateCriteria(typeof(GL))
            .Add(Subqueries.PropertyIn("GLCode", subQuery))
            .List<GL>();   
Run Code Online (Sandbox Code Playgroud)

nhibernate distinct

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

无法设置默认的Nhibernate隔离级别(例如通过映射)

这对我来说已经存在于3个项目中的问题.

我尝试过以下方法:

<property name="connection.isolation">ReadCommitted</property>
Run Code Online (Sandbox Code Playgroud)

在hibernate.cfg.xml中设置

使用流利的nhiberate:

MsSqlConfiguration.MsSql2008.IsolationLevel(IsolationLevel.ReadCommitted);
Run Code Online (Sandbox Code Playgroud)

在global.asax.cs中设置

我总是被迫这样设置:

CurrentNhibernateSession.Transaction.Begin(IsolationLevel.ReadCommitted);
Run Code Online (Sandbox Code Playgroud)

哪个有效.(我可以使用NHibernate Profiler看到这个)

问题是现在我使用的是尖锐的架构,并且在该框架内调用了transaction.begin,我在重建它时遇到了麻烦.

有没有办法做到这一点,无需在开始交易时明确设置它?

sql-server nhibernate fluent-nhibernate sharp-architecture

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

正则表达式:包含至少8位小数

我需要正则表达式来检查字符串是否包含8个十进制数字或更多.它可以包含任何其他内容,数字不必是连续的.

提前致谢

编辑:将"数字"替换为"十进制数字"以匹配接受的答案.

regex

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