小编Sae*_*eid的帖子

在SQL Server 2008中正确使用事务

我有2个命令,需要它们都正确执行或者没有执行.所以我认为我需要一个交易,但我不知道如何正确使用它.

以下脚本有什么问题?

BEGIN TRANSACTION [Tran1]

INSERT INTO [Test].[dbo].[T1]
    ([Title], [AVG])
VALUES ('Tidd130', 130), ('Tidd230', 230)

UPDATE [Test].[dbo].[T1]
  SET [Title] = N'az2' ,[AVG] = 1
  WHERE [dbo].[T1].[Title] = N'az'

COMMIT TRANSACTION [Tran1]
GO
Run Code Online (Sandbox Code Playgroud)

INSERT命令已执行但UPDATE命令有问题.如果其中任何一个命令执行错误,我如何实现它来回滚这两个命令?

sql t-sql database sql-server transactions

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

从lambda列表<>中删除重复值的最快方法

什么是从列表中删除重复值的最快方法.假设List<long> longs = new List<long> { 1, 2, 3, 4, 3, 2, 5 };我很有兴趣使用lambda删除重复并返回:{1, 2, 3, 4, 5}.你的建议是什么?

c# lambda list generic-list c#-4.0

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

在ASP.NET MVC中更改视图的布局(母版页)而不重新创建它

我正在使用带有Razor视图的ASP.NET MVC 3.如果要创建视图,可以为视图选择布局(母版页),或者选择"默认"(_Layout).

我很有兴趣在创建视图后更改此布局而不重新创建它,是否有任何地方存储有关视图的布局信息?我该怎么改变它?

.net c# asp.net asp.net-mvc asp.net-mvc-3

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

获取ActionName,ControllerName和AreaName,并在ActionFilter Attribute中传递它

我使用自定义AuthorizationFilter,如下所示:

public class ActionAuthorizeAttribute : AuthorizeAttribute {

protected override bool AuthorizeCore(System.Web.HttpContextBase httpContext) {

        if(!httpContext.User.Identity.IsAuthenticated)
            return false;

        if(IsUserExcluded())
            return false;
        else
            return IsRoleAuthorize(httpContext);
    }
}
Run Code Online (Sandbox Code Playgroud)

我在每个操作的顶部使用此过滤器,并且要检查是否已授权,需要操作名称,控制器名称和区域名称.那么有没有办法在AuthorizeCore()使用方法中获得这些名称System.Web.HttpContextBase?如果答案是否,那么我怎么能得到这个名字并将其传递给属性,显然我不想手工添加每个名字,实际上就像ViewContext.RouteData.Values["Controller"]在控制器中一样:

[ActionAuthorize(actionName=Action, controller=ControllerName, area=AreaName)]
public ActionResult Index() {
    return View();
}
Run Code Online (Sandbox Code Playgroud)

有人对此有任何想法吗?

asp.net-mvc authorization authorize-attribute action-filter asp.net-mvc-3

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

用于检查输入字符串的正则表达式只是用波斯语

我和MVC一起工作,我是新手.我想通过[RegularExpression]Validation 检查输入值仅在波斯语(字符)中.所以我认为使用正则表达式需要检查unicodes的范围,但我不知道如何找到范围的波斯字符Unicode.我对这个正则表达式是对的吗?你的建议是什么?如何在波斯语中找到Unicode的范围

c# regex model-view-controller asp.net-mvc-3

32
推荐指数
5
解决办法
9587
查看次数

在ASP.NET MVC Razor View中将class属性设置为Html.EditorFor

如你所知,我们可以在剃刀视图中设置属性为actionLink或textBox,但我们如何设置属性@Html.EditorFor,我知道EditorFor是一个可以根据模型类型设置的动态元素,但是所有形状都可以获得属性.那么有没有办法将属性设置为@Html.EditorFor这样的东西:new {@class = "myclass"}

c# asp.net-mvc razor asp.net-mvc-3

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

使用单独的js文件并使用ASP.NEt MVC 3和Razor View Engine中的Url Helpers

在这里问一个类似的问题并Darin Dimitrov回答我们不能像$.ajax({ url: '@Url.Action("Index")', . . .在单独的js文件中那样使用Url帮助器,那么你有什么建议在视图页面中使用Url helper并将其传递给javascript,我不想使用硬代码网址,我需要用Url帮助器找到它.

javascript asp.net-mvc urlhelper razor asp.net-mvc-3

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

通过MemberExpression获取属性类型

在这里问类似的问题 ,假设这种类型:

 public class Product {

public string Name { get; set; }
public string Title { get; set; }
public string Category { get; set; }
public bool IsAllowed { get; set; }

}
Run Code Online (Sandbox Code Playgroud)

这个使用MemberExpression:

public class HelperClass<T> {

    public static void Property<TProp>(Expression<Func<T, TProp>> expression) {

        var body = expression.Body as MemberExpression;

        if(body == null) throw new ArgumentException("'expression' should be a member expression");

        string propName = body.Member.Name;
        Type proptype = null;

    }

}
Run Code Online (Sandbox Code Playgroud)

我这样使用它:

HelperClass<Product>.Property(p …
Run Code Online (Sandbox Code Playgroud)

c# expression properties c#-4.0

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

使用lambda表达式从List <int>获取N max个数字

这是我的清单:

List<int> numbers=new List<int> { 12, 5, -8, 4, 7, 28, 3, 22 };
Run Code Online (Sandbox Code Playgroud)

如何通过lambda获得4个最大数字:我需要这些: {28, 22, 12, 7}

.net c# linq sorting lambda

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

从匿名类型中获取价值

我有一个方法如下:

public void MyMethod(object obj){

  // implement

}
Run Code Online (Sandbox Code Playgroud)

我称之为:

MyMethod(new { myparam= "waoww"});
Run Code Online (Sandbox Code Playgroud)

那么如何实现MyMethod()获取myparam值呢?

编辑

我用这个:

dynamic d= obj; 
string param = d.myparam; 
Run Code Online (Sandbox Code Playgroud)

但错误上升:

'object' does not contain a definition for 'myparam' 
Run Code Online (Sandbox Code Playgroud)

我也使用断点,我看到d有myparam字符串属性.

有没有办法检查动态类型,如果包含这样的任何属性:

if(d.contain(myparam))?
Run Code Online (Sandbox Code Playgroud)

编辑二

这是我的主要代码:

public static MvcHtmlString SecureActionLink(this HtmlHelper htmlHelper, 
         string linkText, string actionName, string controllerName, 
         object routeValues, object htmlAttributes) {


    string areaName = 
         (string)htmlHelper.ViewContext.RouteData.DataTokens["area"];

        dynamic areaObject = routeValues;

        if(areaObject != null && !string.IsNullOrEmpty(areaObject.area))
            areaName = areaObject.area;

// more
}
Run Code Online (Sandbox Code Playgroud)

并称之为:

<p>@Html.SecureActionLink("Secure Link between Areas", …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc anonymous-types c#-4.0 asp.net-mvc-3

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