本文是使用Castle Windsor进行Web API的一个很好的起点,但是如果我创建一个简单的MVC控制器呢?只有在注入没有依赖性时它才有效.
添加这个,即:
public class HomeController : Controller
{
private readonly IValuesRepository repository;
public HomeController(IValuesRepository repository)
{
this.repository = repository;
}
public ActionResult Index()
{
return View();
}
}
Run Code Online (Sandbox Code Playgroud)
导致以下错误:
为此对象定义的无参数构造函数
有没有办法在使用Castle Windsor的同一个应用程序中使用MVC和Web API逻辑?
设置完成后DependencyResolver.SetResolver(...)的application_start,我没有注意到我的应用程序有任何改善.
如你看到的.

实现服务定位器:
internal sealed class WindsorDependencyResolver
: ServiceLocatorImplBase, IDependencyResolver
{
private readonly IWindsorContainer container;
public WindsorDependencyResolver(
IWindsorContainer container)
{
if (container == null)
{
throw new ArgumentNullException("container");
}
this.container = container;
}
public object GetService(Type t)
{
return this.container.Kernel.HasComponent(t) …Run Code Online (Sandbox Code Playgroud) 我已经实现了一个控制台应用程序并将Miniprofiler添加到此应用程序中.
现在我想将Miniprofiler数据存储到数据库中.我已经执行了脚本来创建表到数据库.你可以在这里找到脚本!
我已经回复了这个问题
但是如何将探查器值存储到相关表中?
在MVC下面,line用于存储值:
MiniProfiler.Settings.Storage = new SqlServerStorage("<your connection string>");
Run Code Online (Sandbox Code Playgroud)
如何从控制台应用程序中存储这些值?
在我的MVC5 Razor代码中输入出生日期我正在使用如下的日期选择器
@Html.EditorFor(model => model.date_of_birth,
new { htmlAttributes = new { @class = "m-wrap datepicker" } })
Run Code Online (Sandbox Code Playgroud)
这里的model.date_of_birth一个EditorFor呼吁,使之作为一个datepicker与@class = datepicker
然后使用下面的代码在脚本区域启动datepicker
$('.datepicker').datepicker({
format: 'yyyy-mm-dd',
autoclose: true
})
Run Code Online (Sandbox Code Playgroud)
这里的日期格式是'yyyy-mm-dd',它工作正常,但用户希望它的dd-mm-yyyy格式.所以我改变了脚本中的格式,因为dd-mm-yyyy
在Internet Explorer中它运行正常,但在Chrome中它给出了某个日期的错误
eg: 14-05-2015
Run Code Online (Sandbox Code Playgroud)
字段出生日期*必须是日期.
11-05-2015铬的日期工作正常.所以我猜Chrome正在采用日期格式mm-dd-yyyy.
格式'dd-M-yyyy'也正常工作只有错误dd-mm-yyyy
有什么办法可以克服这个浏览器特定的错
编辑
$.validator.addMethod('date', function (value, element) {
if (this.optional(element)) {
return true;
}
var valid = true;
try {
$.datepicker.parseDate('dd/mm/yyyy', value);
}
catch (err) {
valid = …Run Code Online (Sandbox Code Playgroud) 背景: 我正在构建越来越多的 Web 应用程序,其中设计者/模板制作者决定添加“个人资料图片”和一些其他用户相关数据,当然只有在有人登录时才添加。
与大多数 ASP.NET MVC 开发人员一样,我使用视图模型来提供 razor 布局,其中包含我需要显示的信息,这些信息来自存储库等。
通过使用可以很容易地显示用户名
HttpContext.Current.User.Identity.Name
Run Code Online (Sandbox Code Playgroud)
如果我想在这些页面上显示我的支持数据存储中保存的信息,该怎么办?ApplicationUser 类中的自定义字段,例如业务部门名称或个人资料图片 CDN url。
(为了简单起见,我们假设我将身份框架与包含我的应用程序用户的实体框架(SQL 数据库)一起使用)
问题
你如何解决这个问题:
我考虑过使用新的视图模型的部分 - 但这仍然会在每次页面加载时往返 SQL 数据库。会话数据目前是安全的,但是当在天蓝色中扩展时,这也不是一种方法。知道我最好的选择是什么吗?
太长了;
如果用户登录(匿名访问=允许),我想在应用程序的每个页面上显示用户配置文件信息(ApplicationUser)。如何显示此信息而不在每个页面请求都查询数据库?如果没有 Session 类,我该如何做到这一点?在不构建基类的情况下如何做到这一点?
所以我有一个带有表的MVC应用程序,当单击标题时,我希望它根据单击的次数以升序或降序方式切换.
目前我只能降序或升序排序我不知道如何实现两者.userName当用户登录并且我正在使用交换机时,我只是从另一个控制器获取的变量,因为我计划有多个可以排序的标头.
<table>
<tr>
<th>
<a href="@Url.Action("Dispatch", "Calls", new { userName = Session["UserName"], new { sortOrder = "Name_desc" })">Name</a>
</th>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)
public ActionResult Index(string userName, string sortOrder)
{
string userName = Session["UserName"].ToString();
var model = from t in db.Users
where t.UserName == userName
select t;
switch(sortOrder)
{
case "Name_desc":
model = model.OrderByDescending(t => t.UserName);
break;
}
}
Run Code Online (Sandbox Code Playgroud) 我有一个跟随ActionResult,controller你可以看到我设置了一个消息,ViewBag如果它成功.然后View它应该输出该消息,如果它不是空的.但是,我无法显示消息,我没有看到问题所在.
[HttpPost]
public ActionResult Create(FormCollection collection)
{
try
{
context.Roles.Add(new Microsoft.AspNet.Identity.EntityFramework.IdentityRole()
{
Name = collection["RoleName"]
});
context.SaveChanges();
ViewBag.ResultMessage = "Role created successfully.";
return RedirectToAction("Index");
}
catch (Exception)
{
return View();
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的Index.cshtml
@model IEnumerable<Microsoft.AspNet.Identity.EntityFramework.IdentityRole>
@{
ViewBag.Title = "Index";
}
<h2>Roles Listing </h2>
@ViewBag.ResultMessage
@Html.ActionLink("Create New Role", "Create") | @Html.ActionLink("Manage User Role", "ManageUserRoles")
<div>
<table class="table table-bordered table-condensed table-striped table-hover ">
<thead>
<tr>
<th>Role</th>
<th>Action</th>
</tr>
</thead>
<tbody>
@foreach (var role in …Run Code Online (Sandbox Code Playgroud) https://jsfiddle.net/gislef/Lvfpq57h/
为了使这个编辑器成为厨具文本编辑器的基础,我查阅了关于IText的fabric js文档,并在Jsfiddle中看到了一些孤立的示例。
我有两个问题:
如何选择字母并仅设置文本中选择的格式?
如何同时选择文本修饰的三个选项:下划线,直通和上划线?
当前代码:
radios5 = document.getElementsByName("fonttype"); // wijzig naar button
for(var i = 0, max = radios5.length; i < max; i++) {
radios5[i].onclick = function() {
if(document.getElementById(this.id).checked == true) {
if(this.id == "text-cmd-bold") {
canvas.getActiveObject().set("fontWeight", "bold");
}
if(this.id == "text-cmd-italic") {
canvas.getActiveObject().set("fontStyle", "italic");
}
if(this.id == "text-cmd-underline") {
canvas.getActiveObject().set("textDecoration", "underline");
}
if(this.id == "text-cmd-linethrough") {
canvas.getActiveObject().set("textDecoration", "line-through");
}
if(this.id == "text-cmd-overline") {
canvas.getActiveObject().set("textDecoration", "overline");
}
} else {
if(this.id == "text-cmd-bold") { …Run Code Online (Sandbox Code Playgroud) 我想将组名称指定为授权过滤器的属性.
它将采取如下
Run Code Online (Sandbox Code Playgroud)[FilterConfig.AuthorizeAd(Group = "DirectoryName")] public ActionResult GetData() { }
坚持硬编码我尝试添加如下
Run Code Online (Sandbox Code Playgroud)[FilterConfig.AuthorizeAd(Group = Constants.ActiveDirectoryName)]其中Constants是class并创建成员如下:
Run Code Online (Sandbox Code Playgroud)public const string ActiveDirectoryName = "directoryName";
现在我想从app.config中获取它,尝试如下
Run Code Online (Sandbox Code Playgroud)[FilterConfig.AuthorizeAd(Group = ConfigurationManager.AppSettings["Directory_Name"].ToString()
它将错误消息传递给"一个属性参数必须是一个常量表达式"
如何从配置中分配数据?请建议我.
这很简单但是
在asp net MVC中使用经典webforms"response.write"的最佳方法是什么?特别是mvc5.
让我们说:我只想写一个简单的字符串来控制器屏幕.
在mvc中是否存在response.write?
谢谢.
我一直在尝试包含以前包含的导航属性的多个导航属性,但我还没有找到正确的语法。实体关系如下图所示:

现在,我想加载所有城市,然后是所有部门,然后是所有员工,当我来到 Employee 表时,我想加载 Employee 导航属性:Projects(项目的集合)以及导航属性 Title 和 Country .
我的代码语法是:
var model = dbContext.Cities.Include(c => c.Departments.Select(e => e.Employees.Select(p => p.Projects))).ToList();
Run Code Online (Sandbox Code Playgroud)
在上面的代码中,唯一包含的 Employee 导航属性是 Projects(一个 Project 列表,由于是一对多的关系)。但是如何包含另外两个 Employee 导航属性 Title 和 Country?
asp.net-mvc ×6
asp.net ×3
c# ×3
linq ×2
datepicker ×1
fabricjs ×1
html5-canvas ×1
javascript ×1
razor ×1
sorting ×1
webforms ×1