我正在尝试了解我的MVC2网站的最佳架构.
由于我一直在尝试使用Entity Framework将数据输入和输出数据库,我开始意识到我到目前为止构建的简单域模型并未映射到我计划视图的所有需求.所以我正在考虑遵循这个问题的对应答案:为什么两个类,视图模型和领域模型?.
但是,在域模型和EF模型之间我可以看到的似乎存在少量收益的冗余,我甚至无法理解概念差异.我没有要求在未来切换数据源,我也不认为需要切换我的ORM解决方案.
问题:
如果我遵循这种模式,那么,由于我使用的是实体框架,我不应该只使用我的EF实体直接作为域模型服务吗?(注意:我没有想过通过"怎么样",但是答案也很受欢迎.)或者我仍然建议管理一组单独的域模型?
我在同一个解决方案中有一系列MVC项目(20+).其中一些需要为大量应用设置共享相同的值.
我想在父目录中的一个公共位置(比如"appSettings.config")将这些维护到相关项目以便于维护,通过appSettings标签上的文件属性将文件放入web.config .
要将文件带入每个项目,我可以使用Add > Existing Item...,这一切都有效,但如果我Add As Link在添加现有项目时选择,则不行.如果不选择add-as-link,则只复制文件,并且两个文件之间的值不会保持同步,从而无法实现我的目的.
有没有办法让它与链接的appSettings.config文件一起使用?
使用:
ALTER TABLE dbo.Table1Name
ADD FOREIGN KEY (colname)
REFERENCES dbo.Table2Name (colname)
Run Code Online (Sandbox Code Playgroud)
我得到一个名为FK___colname__673F4B05的外键
我希望它被命名为:FK_Tabl1Name_Table2Name,
...这样在浏览SSMS中的DB结构时很容易阅读.我知道我可以回到GUI并执行此操作,但我希望能够编写脚本.
那么为FK添加名称的SQL sytnax是什么?我在网上找到的任何东西似乎都对此感到烦恼.
使用jQuery .on():
$('.outer').on('click', '.inner', function(){
// doing stuff...
});
Run Code Online (Sandbox Code Playgroud)
由于this引用了origniting(.inner)元素,是否有更直接的引用事件冒泡到的父元素,而不是使用:
$(this).closest('.outer')
Run Code Online (Sandbox Code Playgroud)
?
我正在使用ASP.Net MVC3,并使用以下方式提供文件:
public class ByteResult : ActionResult
{
public String ContentType { get; set; }
public byte[] Bytes { get; set; }
public ByteResult(byte[] sourceStream, String contentType)
{
Bytes = sourceStream;
ContentType = contentType;
}
public override void ExecuteResult(ControllerContext context)
{
var response = context.HttpContext.Response;
response.Clear();
response.Cache.SetCacheability(HttpCacheability.NoCache);
response.ContentType = ContentType;
var stream = new MemoryStream(Bytes);
stream.WriteTo(response.OutputStream);
stream.Dispose();
}
}
Run Code Online (Sandbox Code Playgroud)
使用此方法在页面中嵌入照片时,当用户从上下文菜单中选择"将图片/图像另存为..."时,另存为对话框将显示除IE以外的所有浏览器的img src属性的文件名(当然),提出"untitled.bmp".呸.
我如何修复IE?
我有许多符合{controller}/{action}模式的网址.
我的问题是我想为第二个参数(动作)使用多个以短划线分隔的单词.由于动作方法名称中不允许使用破折号,因此我无法仅使用一个映射映射此模式,并且我必须为每个新操作采用新映射,如下所示:
routes.MapRoute(
"ContactUsForm", "forms/contact-us", new {
action = "contact_us",
controller = "Forms"
});
Run Code Online (Sandbox Code Playgroud)
我有许多需要这种模式的表单,他们的关注点不同,我无法将它们映射到相同的操作方法.
问题 有没有一种简单的方法,比如将{controller}/{some-string}映射到动作"some_string",然后一次性路由我的所有表单URL?
我有一个40px边距的"身体".
此外,我想添加一个100%高度和100%重量与"静态位置"的div.
我的问题是我的'div'超越了'身体'!我希望我的div填充'body'(尊重它的边缘:40px).
我怎么解决这个问题 ?
THKS
body {
background:pink;
margin:40px;
}
.contenuWorks {
height:100%;
width: 100% ;
background:red;
position:absolute;
}
Run Code Online (Sandbox Code Playgroud) 我想创建一个扩展方法,将任何枚举转换为Json字符串.
我希望能够将一个扩展方法附加到Enum,我可以将枚举类型传入其中,以便可以以 Enum您可以调用的方式调用Enum.GetValues(Type enumType)它,因此它可能看起来像:
Enum.ToJsonString(Type enumType)
Run Code Online (Sandbox Code Playgroud)
似乎这是不可能的 - Enum是一个抽象类; 你怎么能扩展呢? - 而且我必须创建自己的静态类型来实现它.
任何人都可以确认我不能以这种方式扩展Enum(请在技术上解释为什么),或者告诉我我该怎么做?
澄清(更新)
我知道我可以用我自己的静态类型做到这一点.例如,创建起来相当容易,EnumExtensions.ToJsonString(Type enumType)但我宁愿将方法与GetValues()等一起列在VS intellisence auto-complete中.
asp.net-mvc ×3
.net ×1
absolute ×1
appsettings ×1
c# ×1
css ×1
html ×1
jquery ×1
margin ×1
sql ×1
viewmodel ×1
web-config ×1