作为此问题的扩展,在此处链接用户控件中的JavaScript库我之后是一些关于人们如何在运行时或在构建时连接和缩小JavaScript的示例.我还想看看它如何适用于您的母版页.
我不介意页面特定的文件被缩小和链接,因为它们当前是(见下文),但主母版页上的所有JavaScript文件(我有大约5或6)我想连接和缩小.
任何同时融入CSS连接和缩小的人的加分!:-)
当前的母版页,包含我想要连接和缩小的常见JavaScript文件:
<%@ Master Language="C#" Inherits="System.Web.Mvc.ViewMasterPage" %>
<head runat="server">
... BLAH ...
<asp:ContentPlaceHolder ID="AdditionalHead" runat="server" />
... BLAH ...
<%= Html.CSSBlock("/styles/site.css") %>
<%= Html.CSSBlock("/styles/jquery-ui-1.7.1.css") %>
<%= Html.CSSBlock("/styles/jquery.lightbox-0.5.css") %>
<%= Html.CSSBlock("/styles/ie6.css", 6) %>
<%= Html.CSSBlock("/styles/ie7.css", 7) %>
<asp:ContentPlaceHolder ID="AdditionalCSS" runat="server" />
</head>
<body>
... BLAH ...
<%= Html.JSBlock("/scripts/jquery-1.3.2.js", "/scripts/jquery-1.3.2.min.js") %>
<%= Html.JSBlock("/scripts/jquery-ui-1.7.1.js", "/scripts/jquery-ui-1.7.1.min.js") %>
<%= Html.JSBlock("/scripts/jquery.validate.js", "/scripts/jquery.validate.min.js") %>
<%= Html.JSBlock("/scripts/jquery.lightbox-0.5.js", "/scripts/jquery.lightbox-0.5.min.js") %>
<%= Html.JSBlock("/scripts/global.js", "/scripts/global.min.js") %>
<asp:ContentPlaceHolder ID="AdditionalJS" runat="server" />
</body>
Run Code Online (Sandbox Code Playgroud)
在这样的页面中使用(我很满意):
<asp:Content ID="signUpContent" ContentPlaceHolderID="AdditionalJS" runat="server">
<%= …
Run Code Online (Sandbox Code Playgroud) 最近我切换到Ninject 2.0版本并开始收到以下错误:
Error occured: Error activating SomeController More than one matching bindings are available. Activation path: 1) Request for SomeController Suggestions: 1) Ensure that you have defined a binding for SomeController only once.
但是,我无法找到某种复制路径.有时它会发生,有时它不会发生.我正在使用NinjectHttpApplication
自动控制器注入.控制器在单独的程序集中定义:
public class App : NinjectHttpApplication
{
protected override IKernel CreateKernel()
{
INinjectModule[] modules = new INinjectModule[] {
new MiscModule(),
new ProvidersModule(),
new RepositoryModule(),
new ServiceModule()
};
return new StandardKernel(modules);
}
protected override void OnApplicationStarted()
{
RegisterRoutes(RouteTable.Routes);
RegisterAllControllersIn("Sample.Mvc");
base.OnApplicationStarted();
}
/* ............. */
}
Run Code Online (Sandbox Code Playgroud)
也许有人熟悉这个错误. …
当我发布我的ASP.NET MVC应用程序时,它会生成一个app_offline.htm文件,以便在网站更新网站时使网站脱机,然后在发布成功后删除该文件.
这很酷,我真的很喜欢这个想法,但是我想创建我自己的自定义app_offline.htm文件,该文件是发布操作所知道的,并将它放在不影响我的开发站点的地方 - 也就是说它不在我的开发站点的根目录一直在脱机.
编辑:从Scott Gu关于app_offline.htm的帖子的评论来看,似乎用VS 2005无法自定义app_offline.htm文件 - 这是用VS 2008和现在的VS 2010改变的吗?
asp.net asp.net-mvc publish visual-studio-2010 app-offline.htm
所以我开始抓住TDD错误,但我想知道我是否真的做得对......我似乎在写很多测试.
越多的测试越好,当然,但我有一种感觉,我已经过度了.说实话,我不知道我能用多长时间来编写这些简单的重复测试.
例如,这些是来自我的AccountController的LogOn操作:
public ActionResult LogOn(string returnUrl)
{
if (string.IsNullOrEmpty(returnUrl))
returnUrl = "/";
var viewModel = new LogOnForm()
{
ReturnUrl = returnUrl
};
return View("LogOn", viewModel);
}
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult LogOn(LogOnForm logOnForm)
{
try
{
if (ModelState.IsValid)
{
AccountService.LogOnValidate(logOnForm);
FormsAuth.SignIn(logOnForm.Email, logOnForm.RememberMe);
return Redirect(logOnForm.ReturnUrl);
}
}
catch (DomainServiceException ex)
{
ex.BindToModelState(ModelState);
}
catch
{
ModelState.AddModelError("*", "There was server error trying to log on, try again. If your problem persists, please contact us.");
}
return View("LogOn", logOnForm);
}
Run Code Online (Sandbox Code Playgroud)
非常自我解释.
然后,我有以下测试套件 …
我有一些代码可以在代码中保存多对多的关系.它与Entity Framework 4.1一起运行良好,但在更新到Entity Framework 5后,它失败了.
我收到以下错误:
INSERT语句与FOREIGN KEY约束"FK_WebUserFavouriteEvent_Event"冲突.冲突发生在数据库"MainEvents",表"dbo.Event",列"Id"中.
我正在使用POCO实体和自定义映射.标准字段和多对一关系映射似乎工作正常.
UPDATE
好的,所以我安装了SQL Profiler并且情节已经变厚......
exec sp_executesql N'insert [dbo].[WebUserFavouriteEvent]([WebUserId], [EventId])
values (@0, @1)
',N'@0 int,@1 int',@0=1820,@1=14
Run Code Online (Sandbox Code Playgroud)
意思是:
WebUserId = @0 = 1820
EventId = @1 = 14
Run Code Online (Sandbox Code Playgroud)
有趣的是,EF5似乎已经翻转了外键 ...... WebUserId应该是14,而EventId 应该是1820,而不是像现在这样.
我查看了映射代码,我99%我已经正确设置了它.有关详细信息,请参阅实体框架Fluent API - 关系MSDN文章.
注意:我还发现这不仅限于保存,SELECT也被破坏.
这是所有相关代码:
服务层
public void AddFavEvent(WebUser webUser, Event @event)
{
webUser.FavouriteEvents.Add(@event);
_webUserRepo.Update(webUser);
}
Run Code Online (Sandbox Code Playgroud)
知识库
public void Update<T>(params T[] entities)
where T : DbTable
{
foreach (var entity in entities)
{
entity.UpdatedOn …
Run Code Online (Sandbox Code Playgroud) 通常我通过@ Html.RenderModel渲染我的表单,但这次我有一个复杂的渲染逻辑,我手动渲染它.我决定为一个属性创建一个编辑器模板.这是代码(从默认对象编辑器模板实现粘贴的副本):
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %>
<% var modelMetadata = ViewData.ModelMetadata; %>
<% if (modelMetadata.HideSurroundingHtml) { %>
<%= Html.Editor(modelMetadata.PropertyName) %>
<% } else { %>
<% if (!String.IsNullOrEmpty(Html.Label(modelMetadata.PropertyName).ToHtmlString())) { %>
<div class="editor-label"><%= Html.Label(modelMetadata.PropertyName) %></div>
<% } %>
<div class="editor-field">
<%= Html.Editor(modelMetadata.PropertyName) %>
<%= Html.ValidationMessage(modelMetadata.PropertyName) %>
</div>
<% } %>
Run Code Online (Sandbox Code Playgroud)
以下是我如何使用它:
@Html.EditorFor(x => x.SomeProperty, "Property") //"Property" is template above
Run Code Online (Sandbox Code Playgroud)
但它不起作用:无论DisplayName如何都会呈现标签,并且根本不呈现编辑器(在Watches Html.Editor中(modelMetadata.PropertyName显示空字符串).我做错了什么?
我的ASP.NET MVC Web应用程序允许管理员更改自己或其他用户的用户名.
用户通过呼叫登录FormsAuthentication.SetAuthCookie(userName [string], createPersistentCookie [bool])
.他们通过电话登出FormsAuthentication.SignOut()
.我知道在更新用户名后我需要将其签名并重新登录.但是我如何检索现有的价值createPersistentCookie
呢?例如,如何在重新签名时保留原来的"记住我"设置?
我想在使用Docker和Kubernetes时通过边车自动设置MongoDb副本集的过程.
以上的设置是不是非常重要的,它归结为是,我需要能够调用蒙戈副本集命令(例如rs.initiate()
,rs.add('anotherserver')
,rs.conf()
,rs.reconfig()
从Node.js应用程式等).
注意:它不必来自节点应用程序,如果有人知道完成同样事情的另一种方式,请分享您的想法.
更新:我能够使这个工作,并使其他人使用的边车开源.
我正在努力学习Asp.net Mvc所以我正在尝试 这个教程.
他们讨论了存储库模式以及如何轻松地更改为另一种数据访问技术,而不是直接将Linq调用到Sql.
在控制器类中使用LINQ to SQL会使将来很难切换数据访问技术.例如,您可能决定从使用Microsoft LINQ切换到使用Microsoft Entity Framework作为数据访问技术.在这种情况下,您需要重写访问应用程序中数据库的每个控制器.
注意:在阅读本教程之前,我从未真正理解界面是如何工作的,并且它仍然不是100%清晰.我现在把它看作某种类的"模板".
在成功使用Linq to Sql之后,我认为尝试Ado.net实体框架会很好,因为我已经阅读了很多相关内容.他们说使用存储库模式会很容易切换,所以我想我会测试它.
我的问题是:如何更改为Ado.net EF?
这是我认为我应该做的.
如果我对Asp.net Mvc略微简单化一下,请原谅我.我是webdesigner,对Asp.net webdevelopment很感兴趣.
我正在使用ASP.NET MVC 2.
Html.DropDownListFor和Html.TextAreaFor在验证失败时自动获得红色边框.
如何在验证失败时使TextBox的四个边框(使用Html.TextBoxFor)变为红色?
例如,我有一个需要的TextBox,当用户提交表单时没有在文本框中指定值,我希望文本框有红色边框.
asp.net-mvc ×7
asp.net ×2
c# ×2
.net ×1
css ×1
docker ×1
javascript ×1
kubernetes ×1
minify ×1
mongodb ×1
ninject ×1
node.js ×1
publish ×1
sql-server ×1
tdd ×1
unit-testing ×1
validation ×1