小编Chu*_*way的帖子

我是一名ASP.NET程序员(Webforms).我应该切换到MVC吗?

我喜欢控制引擎盖下的内容(MVC方式),但我也很懒,并且不喜欢编写大量的JavaScript GUI.我应该或不应该切换到MVC?谢谢,内斯特

javascript asp.net asp.net-mvc

7
推荐指数
2
解决办法
483
查看次数

为什么在ASP.NET MVC中,是否有ContentPlaceHolder用于标题?

在新的ASP.NET站点中,标题有一个ContentPlaceHolder:

<head runat="server">
    <title><asp:ContentPlaceHolder ID="TitleContent" runat="server" /></title>
    <link href="../../Content/Site.css" rel="stylesheet" type="text/css" />
</head>
Run Code Online (Sandbox Code Playgroud)

在页面中:

<asp:Content ID="aboutTitle" ContentPlaceHolderID="TitleContent" runat="server">
    About Us
</asp:Content>
Run Code Online (Sandbox Code Playgroud)

为什么是这样?为什么不能在页面指令中使用title属性/属性?

<%@ Page Title="About Us" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage" %>
Run Code Online (Sandbox Code Playgroud)

两种方法都有相同的结果.对我来说,ContentPlaceHolder方法似乎很苛刻.

如果你需要一个动态标题,你可以在aspx页面中这样做:

<%= this.Title = "About Me" %>
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc

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

什么是'裸地子句'

在与我的同事的一次谈话中,他提到他不小心将"裸露的地方条款"投入生产.

什么是'裸体哪里条款'?

sql

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

使用哪个:"AcceptGet,AcceptPost"(MvcContrib)与AcceptVerbs(ASP.NET Mvc)?

在ASP.NET MVC中,控制器方法可以被装饰为接受特定的HTTP方法(Get,Post,Get等).在MvcContrib和ASP.NET MVC之间有3个类:"AcceptGet,AcceptPost"和AcceptVerbs.全部三个:"AcceptGet,AcceptPost"和AcceptVerbs做同样的事情.它们指定允许访问操作/方法的http方法.

AcceptGet和AcceptPost在MvcContrib中.虽然AcceptVerbs是Mvc框架的原生.哪个更好用?

AcceptGet/AcceptPost(MvcContrib)

/// <returns></returns>
[AcceptGet]
public ActionResult Profile(string id)
Run Code Online (Sandbox Code Playgroud)

AcceptVerbs(ASP.NET Mvc)

/// <returns></returns>
[AcceptVerbs(HttpVerbs.Get)]
public ActionResult EditRequest(string id)
Run Code Online (Sandbox Code Playgroud)

可以在此处找到MvcContrib项目的AcceptPost的文档.

它似乎创建了AcceptGet和AcceptPost,以填补ASP.NET Mvc框架早期版本之一的空白.AcceptGet和AcceptPost类提供了强类型的HttpMethod属性.

使用AcceptVerbs发布的ASP.NET MVC采用枚举:

[Flags]
public enum HttpVerbs
{
    Delete = 8,
    Get = 1,
    Head = 0x10,
    Post = 2,
    Put = 4
}
Run Code Online (Sandbox Code Playgroud)

我的问题是哪一个是更好的实现,AcceptGet/AcceptPost或AcceptVerbs(使用HttpVerbs枚举类型)?

asp.net-mvc

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

当两个相同类型的对象具有相同的值时,为什么哈希码不同?

据我所知,GetHashCode将为两个共享相同值的不同实例返回相同的值.在这一点上,MSDN文档有点模糊.

哈希码是一个数值,用于在相等测试期间标识对象.

如果我有两个相同类型和相同值的实例,GetHashCode()将返回相同的值?

假设所有值都相同,以下测试会过去还是失败?

SecurityUser只有getter和setter;

    [TestMethod]
    public void GetHashCode_Equal_Test()
    {
        SecurityUser objA = new SecurityUser(EmployeeName, EmployeeNumber, LastLogOnDate, Status, UserName);
        SecurityUser objB = new SecurityUser(EmployeeName, EmployeeNumber, LastLogOnDate, Status, UserName);

        int hashcodeA = objA.GetHashCode();
        int hashcodeB = objB.GetHashCode();

        Assert.AreEqual<int>(hashcodeA, hashcodeB);
    }


/// <summary>
/// This class represents a SecurityUser entity in AppSecurity.
/// </summary>
public sealed class SecurityUser
{
    #region [Constructor]

    /// <summary>
    /// Initializes a new instance of the <see cref="SecurityUser"/> class using the
    /// parameters passed.
    /// </summary>
    /// <param …
Run Code Online (Sandbox Code Playgroud)

.net c# gethashcode

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

会话状态ASP.Net的配置文件内存使用情况

我试图弄清楚特定会话状态的大小.在我们的一个重页(表中的大量数据)中,它逐渐变慢.通过注销系统解决了该问题.

我在寻找寻找JavaScript内存泄漏的页面,但我没有找到任何东西.我的下一个攻击计划是查看ViewState和Session State.ViewState很简单,但会话状态带来了挑战.

有没有人知道任何有助于弄清楚会话状态大小的技巧或工具?

编辑

会话状态是InProc.

memory asp.net profile session-state

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

在C#中合并两个DateTime类型

这就是我到目前为止所拥有的.

/// <summary>
/// Gets the date.
/// </summary>
/// <param name="date">The date: 05/07/2009</param>
/// <returns></returns>
private static DateTime GetDate(string date)
{
    DateTime postDate = DateTime.Parse(date);
    postDate.AddHours(DateTime.UtcNow.Hour);
    postDate.AddMinutes(DateTime.UtcNow.Minute);
    postDate.AddSeconds(DateTime.UtcNow.Second);
    postDate.AddMilliseconds(DateTime.UtcNow.Millisecond);

    return postDate;
}
Run Code Online (Sandbox Code Playgroud)

是否有更好的方法来合并两个日期?我正在寻找更优雅的解决方案.

c# datetime

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

TSQL中"<>"和"不是"之间的区别?

我不明白.

我有这个表达,它没有用.

IF @LocationName <> NULL AND
@Latitude <> NULL AND
@Longitude <> NULL AND
@Zoom <> NULL AND
@MapTypeId <> NULL
BEGIN
... 
END
Run Code Online (Sandbox Code Playgroud)

我把它改成了这个表达式.

IF @LocationName Is NOT NULL  AND
@Latitude Is NOT NULL AND
@Longitude Is NOT NULL AND
@Zoom Is NOT NULL AND
@MapTypeId Is NOT NULL
BEGIN
... 
END
Run Code Online (Sandbox Code Playgroud)

它有效......

WTH?

t-sql

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

从MemberExpression获取属性值

我正在尝试从的实例检索属性的值MemberExpression

这是我到目前为止的内容:

protected override void VisitMember(Context context, MemberExpression node)
{              
    var propertyInfo = node.Member as PropertyInfo;
    if(propertyInfo != null)
    {
       var v = propertyInfo.GetValue(node.Member , null);
       val = Convert.ToString(v);
    }
    context.State.Append(val);
}
Run Code Online (Sandbox Code Playgroud)

根据我采用的方法,有两个问题:我不知道预期的类型(字符串,整数等),和/或我无法从中访问实例MemberExpression

我正在向T-SQL转换器编写一个小的lambda表达式。例如,(u)=> u.FirstName == u.LastName;将转换为FirstName = 'chuck'。我快要工作了!

更新

我尝试了以下代码:

...  

var propertyInfo = node.Member as PropertyInfo;

if(propertyInfo != null)
{
   var o = propertyInfo.GetValue(node.Expression, null);
}

...
Run Code Online (Sandbox Code Playgroud)

这没用。我收到以下错误:

System.Reflection.TargetException : Object does not match target type.
Run Code Online (Sandbox Code Playgroud)

更新2

这是我要完成的工作:

    public static …
Run Code Online (Sandbox Code Playgroud)

c# expression

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

jQuery,在HTML模板中查找控件

我正在使用html模板:

<script id="locationTemplate" type="application/template" >

    <p>
        <input id="searchText" type="text" />
        <input id="searchlocation" type="submit" value="Search" />
    </p>

    <p>
        <label>Location Name</label>
        <input id="locationName" type="text" />
    </p>


    <div id="map"></div>

</script>
Run Code Online (Sandbox Code Playgroud)

我可以加载模板,但是当我尝试在模板中找到控件时,我不能.

    this.template = $('#locationTemplate');
    this.searchText = $(this.template.html()).find('input#searchText');
    this.locationName = this.template.find('p input#locationName');
Run Code Online (Sandbox Code Playgroud)

我在这里错过了什么?我尝试了两种不同的方法.

更新:

我有这个代码工作:

    this.template = $('#locationTemplate');
    this.searchText = $(this.template.html()).find('input#searchText');
    this.locationName = $(this.template.html()).find('input#locationName');
Run Code Online (Sandbox Code Playgroud)

但我很困惑为什么我必须将html转储到另一个jQuery实例.为什么我不能只使用template.find方法,因为模板已经包装在jQuery中...

jquery

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

我怎么做1000以下的fibonaci序列?

#include <iostream>
using namespace std;
void main()
{
  int i = 0;
  while (i < 1000)
  {
      int TEMP = i * 2;
      cout << i << endl;
      TEMP = i;
      i = i +1;
      // ???
  }

  return;
}
Run Code Online (Sandbox Code Playgroud)

我很困惑??:(

c++ fibonacci

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