如何更改辅助函数Html.ActionLink创建的超链接的颜色?
[附加细节]超链接的每个状态的颜色必须不同,即已选择活动,已选择,等等.
我已经在不同的线程和不同的论坛中看到过很多次代码.特别是我从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)
我的问题是:
是否有必要创建一个显式的析构函数?该类继承自IDisposable,在GC清理期间,最终将执行Dispose().
Dispose(bool disposing)中参数'disposing'的意义是什么?为什么有必要区分托管和非托管对象的处理?
我只是从Entity Framework开始,我很欣赏代码直接映射到我的数据库中的表.我还没有看到的是必须在存储过程中使用EF的实用性,我将很感激任何人对此的看法.我不是很懒,我现在正在自己搜索.以为我可以发布问题并听取其他人的意见.
我的情况是EF是一个ORM最适合在我的数据库中的表中映射.但是在实时Web服务器中,许多请求可能同时发生,与仅仅执行已经预编译的存储过程相比,在执行它们之前必须编译文本查询可能会对数据库造成负担.EF也可以映射到SP,但我觉得这有点削弱了ORM的价值.
在这种情况下,我真的很感激大开眼界.
(注意,下面的代码只是示例.请不要评论为什么这是必要的.我希望肯定答案是或否,如果有可能那么如何?如果没有它也没关系.如果问题很模糊也让我知道.谢谢!)
例如,我可以在下面获得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) 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()'方法,并且此方法无法转换为商店表达式."}
我正在使用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,您还需要编辑生成报告的布局,这仍然是有效的.
我在一个流行的网络托管服务中部署了一个应用程序.因为他们对自己的计算机拥有管理员权限,所以我觉得我迫切需要跨所有层保护我的数据,包括数据库本身.
在数据库上,我正在考虑加密敏感信息,如用户名和电子邮件,可能是他们的电话号码等.存储库层将处理所有编码/解码要求.
我有三个DLL:1)应用程序层(控制器和视图),2)业务层(服务逻辑)和3)数据层(存储库).
通常,来自外部的用户将请求页面,如果他们尚未通过身份验证,则会将其重定向到登录页面,这是典型的表单身份验证内容.这可以保护系统免受外部非特权用户的攻击.
但是,在内部,从技术上讲,这些DLL可以导入到任何.NET应用程序中.在这种情况下,应用程序可以随时访问系统的内部工作.
我很想知道.是SOAP还是普通的HTTP还是别的什么?我正在检查维基百科中的XmlHttpRequest,但那里没有提到它.
我有一个模特课
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字段.谢谢你的任何建议.
我想确定给定的日期对象是否与当天相同.下面是伪代码.
// 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()函数?它不一定是一个功能,一个等效的解决方案也同样好.谢谢.
[编辑]我忘了提.当前时间(今天)是本地时间,与之比较的日期对象是服务器时间,可以是世界上任何地方.
我有一种方法来删除数据库中的"项目"记录,以及与之关联的所有"选项".
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-mvc ×6
asp.net ×4
c# ×3
linq ×3
javascript ×2
jquery ×2
css ×1
database ×1
entity ×1
security ×1
sql-server ×1
xml ×1