小编Ron*_*ald的帖子

ASP.NET MVC Html.ActionLink超链接颜色

如何更改辅助函数Html.ActionLink创建的超链接的颜色?

[附加细节]超链接的每个状态的颜色必须不同,即已选择活动,已选择,等等.

css asp.net-mvc

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

请关于C#IDisposable的一些说明

我已经在不同的线程和不同的论坛中看到过很多次代码.特别是我从GC和IDispose如何在C#中工作?.

class MyClass : IDisposable
{
    ...

    ~MyClass()
    { 
        this.Dispose(false);
    }

    public void Dispose()
    {
        this.Dispose(true);
       GC.SuppressFinalize(this);
    }

    protected virtual void Dispose(bool disposing)
    {
        if (disposing)
        { /* dispose managed stuff also */ }

        /* but dispose unmanaged stuff always */
    }
}
Run Code Online (Sandbox Code Playgroud)

我的问题是:

  1. 是否有必要创建一个显式的析构函数?该类继承自IDisposable,在GC清理期间,最终将执行Dispose().

  2. Dispose(bool disposing)中参数'disposing'的意义是什么?为什么有必要区分托管和非托管对象的处理?

c#

9
推荐指数
2
解决办法
245
查看次数

实体框架与存储过程

我只是从Entity Framework开始,我很欣赏代码直接映射到我的数据库中的表.我还没有看到的是必须在存储过程中使用EF的实用性,我将很感激任何人对此的看法.我不是很懒,我现在正在自己搜索.以为我可以发布问题并听取其他人的意见.

我的情况是EF是一个ORM最适合在我的数据库中的表中映射.但是在实时Web服务器中,许多请求可能同时发生,与仅仅执行已经预编译的存储过程相比,在执行它们之前必须编译文本查询可能会对数据库造成负担.EF也可以映射到SP,但我觉得这有点削弱了ORM的价值.

在这种情况下,我真的很感激大开眼界.

asp.net asp.net-mvc entity-framework

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

如何在T是动态的运行时从Entity-Framework获取ObjectSet <T>?

(注意,下面的代码只是示例.请不要评论为什么这是必要的.我希望肯定答案是或否,如果有可能那么如何?如果没有它也没关系.如果问题很模糊也让我知道.谢谢!)

例如,我可以在下面获得ObjectSet < T >:

ObjectSet<Users> userSet = dbContext.CreateObjectSet<Users>();
ObjectSet<Categories> categorySet = dbContext.CreateObjectSet<Categories>();
Run Code Online (Sandbox Code Playgroud)

上面的代码工作正常.但是,我需要实体表是动态的,所以我可以在类型之间切换.像下面的东西.

//var type = typeof(Users);
var type = typeof(Categories);
Object<type> objectSet = dbContext.CreateObjectSet<type>();
Run Code Online (Sandbox Code Playgroud)

但上面的代码将无法编译.

[编辑:]我想要的是类似的东西,或类似的东西:

//string tableName = "Users";
string tableName = "Categories";
ObjectSet objectSet = dbContext.GetObjectSetByTableName(tablename);
Run Code Online (Sandbox Code Playgroud)

asp.net entity-framework

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

LINQ将DateTime转换为字符串

List<Post> list =
(
    from c in db.TitleComments
    join t in db.Titles on c.TitleId equals t.Id
    join u in db.Users on c.UserId equals u.Id
    where t.Id == _titleId && c.Date > time
    orderby c.Date descending
    select new Post { Username = u.Username, PostingDate = c.Date.ToString(), Data = c.Comment }
).ToList();
Run Code Online (Sandbox Code Playgroud)

上面的代码导致date转换为string,PostingDate = c.Date.ToString().任何想法如何解决这个问题?

异常错误:{"LINQ to Entities无法识别方法'System.String ToString()'方法,并且此方法无法转换为商店表达式."}

linq asp.net-mvc entity entity-framework

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

为什么我应该选择Crystal Report或SSRS而不是纯HTML表?

我正在使用ASP.NET MVC.有时我也使用ASP.NET Web Forms.我几乎可以使用存储过程或LINQ创建我的查询,并使用纯HTML表格呈现我的报告.如果有合适的造型,它应该会很不错.

我不知道SSRS,但我有一些从事水晶工作的经验.我在报告中使用水晶作为一个简单的HTML表格的唯一优势是它可以导出为PDF.但我可能会得到一些可以做到这一点的第三方库.关于像饼图和条形图这样的图表,有很多可用的javascript工具,它们是免费的.

我想我发布这篇文章是为了看看Crystal和SSRS等报告工具所缺少的内容.

编辑:使用ASP.NET MVC创建报告并不是特别困难.只需制定正确的模型,使用scaffolding(Detail)创建控制器操作和视图,您就可以立即为您生成代码.使用ASP.NET Web Forms可能更容易,只需使用GridView即可完成.对于这两种情况,剩下的就是CSS.使用Crystal,您还需要编辑生成报告的布局,这仍然是有效的.

linq asp.net asp.net-mvc crystal-reports reporting-services

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

如何从内部保护系统(如内部工作)?

我在一个流行的网络托管服务中部署了一个应用程序.因为他们对自己的计算机拥有管理员权限,所以我觉得我迫切需要跨所有层保护我的数据,包括数据库本身.

在数据库上,我正在考虑加密敏感信息,如用户名和电子邮件,可能是他们的电话号码等.存储库层将处理所有编码/解码要求.

我有三个DLL:1)应用程序层(控制器和视图),2)业务层(服务逻辑)和3)数据层(存储库).

通常,来自外部的用户将请求页面,如果他们尚未通过身份验证,则会将其重定向到登录页面,这是典型的表单身份验证内容.这可以保护系统免受外部非特权用户的攻击.

但是,在内部,从技术上讲,这些DLL可以导入到任何.NET应用程序中.在这种情况下,应用程序可以随时访问系统的内部工作.

c# database sql-server security asp.net-mvc

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

XmlHttpRequest使用的底层传输协议是什么?

我很想知道.是SOAP还是普通的HTTP还是别的什么?我正在检查维基百科中的XmlHttpRequest,但那里没有提到它.

javascript jquery

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

使用LINQ查询XML并使用null代替特定的xml属性(如果它不存在)

我有一个模特课

public class Item
{
    public string Name {get; set;}
    public string Desc {get; set;}
}
Run Code Online (Sandbox Code Playgroud)

我会查询我的XML文档

List<Item> item = xmlDoc.Descendants()
    .Select(o => new Item { 
        Name = o.Attribute("name").Value, 
        Desc = o.Attribute("desc").Value
    }).ToList(); 
Run Code Online (Sandbox Code Playgroud)

但是,对于每个项目,属性desc可能存在也可能不存在.如果属性desc存在,则上述LINQ有效,但如果不存在则会导致异常.

如果它不存在,我希望LINQ查询只将null赋给新Item对象中的Desc字段.谢谢你的任何建议.

c# xml linq

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

javascript Today()函数

我想确定给定的日期对象是否与当天相同.下面是伪代码.

// date is a Date object
function (date)
{
    if (date == Today())
        alert('How are you today?');
    else
        alert('How were you last ' + date.toDateString() + '?');
}
Run Code Online (Sandbox Code Playgroud)

如何实现Today()函数?它不一定是一个功能,一个等效的解决方案也同样好.谢谢.

[编辑]我忘了提.当前时间(今天)是本地时间,与之比较的日期对象是服务器时间,可以是世界上任何地方.

javascript jquery

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

在Entity Framework中,如何使用外键约束删除记录?

我有一种方法来删除数据库中的"项目"记录,以及与之关联的所有"选项".

public bool DeleteProjectById(int id)
{
    using (DbContext db = new DbContext(ConfigHelper.Instance().ConnectionString))
    {
        try
        {
            foreach (var entity in db.ProjectOptionItems.Where(o => o.ProjectId == id))
                db.ProjectOptionItems.DeleteObject(entity);

            db.SaveChanges();

            var project = db.Projects.SingleOrDefault(o => o.Id == id);
            db.Projects.DeleteObject(project);

            db.SaveChanges();
            return true;
        }
        catch (Exception e)
        {
            ErrorLoggingService.Log(this, e);
            return false;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这很好用.但是,如果我注释掉第一个电话db.SaveChanges,这是我是如何希望的代码将是这样,这将导致一个SQL异常(DELETE语句冲突与参考约束).

两次调用SaveChanges()可以正常工作,但肯定不是这样做的.请帮忙.谢谢!

asp.net asp.net-mvc entity-framework

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