我的视图模型中有这个属性:
[DataType(DataType.DateTime)]
public DateTime? StartDate { get; set; }
Run Code Online (Sandbox Code Playgroud)
如果我想显示日期,或用日期填充文本框,我有以下内容:
<%: Model.StartDate %>
<%: Html.TextBoxFor(m => m.StartDate) %>
Run Code Online (Sandbox Code Playgroud)
每当显示日期时,它显示为:01/01/2011 12:00:00 AM
但我想只显示01/01/2011
有没有办法应用带数据注释的显示格式?我不想去每个显示日期的实例,并添加一些代码来格式化它.
我正在使用EPPlus库来读/写Excel文件:http://epplus.codeplex.com/
我正在尝试在编写文档时简单地合并一些单元格:
using (ExcelPackage pck = new ExcelPackage())
{
//Create the worksheet
ExcelWorksheet ws = pck.Workbook.Worksheets.Add("Demo");
//Format the header for column 1-3
using (ExcelRange rng = ws.Cells["A1:C1"])
{
bool merge = rng.Merge;
}
}
Run Code Online (Sandbox Code Playgroud)
有一个名为Merge的属性只返回true或false.我想也许那会合并细胞,但事实并非如此.
有人知道怎么做吗?
我认为这是一个IIS错误,因为如果我在本地计算机上运行该项目,则不会发生这种情况.
我有我的样式表 ~/Content/css
该目录中的任何文件都不会在页面上加载,当我直接导航到它们时,我收到服务器错误:
401 - 未授权:由于凭据无效,访问被拒绝.
您无权使用您提供的凭据查看此目录或页面.
这只发生在该目录中,我没有问题访问任何其他文件.我在IIS7中需要做些什么来阻止它吗?
我在我的控制器中有这个功能.
[HttpPost]
public ActionResult Edit(EmployeesViewModel viewModel)
{
Employee employee = GetEmployee(viewModel.EmployeeId);
TryUpdateModel(employee);
if (ModelState.IsValid)
{
SaveEmployee(employee);
TempData["message"] = "Employee has been saved.";
return RedirectToAction("Details", new { id = employee.EmployeeID });
}
return View(viewModel); // validation error, so redisplay same view
}
Run Code Online (Sandbox Code Playgroud)
它一直失败,ModelState.IsValid不断返回false并重新显示视图.但我不知道错误是什么.
有没有办法获取错误并将其重新显示给用户?
我有一个应用程序,我想根据用户导航的位置将用户重定向到不同的页面.
如果从Web剪辑导航,请不要重定向.如果从移动版Safari导航,请重定向到safari.aspx.如果从其他任何地方导航,请重定向到unavailable.aspx
我能够使用iPhone WebApps,有没有办法检测它是如何加载的?主屏与Safari?确定用户是否从Web剪辑导航,但我无法确定用户是否在iPhone或iPod上从移动Safari导航.
这就是我所拥有的:
if (window.navigator.standalone) {
// user navigated from web clip, don't redirect
}
else if (/*logic for mobile Safari*/) {
//user navigated from mobile Safari, redirect to safari page
window.location = "safari.aspx";
}
else {
//user navigated from some other browser, redirect to unavailable page
window.location = "unavailable.aspx";
}
Run Code Online (Sandbox Code Playgroud) 我有可以在前端页面登录的用户,以及可以在管理页面上登录的管理员.
用户和管理员应该是具有不同角色的"用户",还是应该在不同的表中拆分?
我正在尝试将css类添加到文本框中.这就是我的看法:
<%: Html.EditorFor(m => m.StartDate) %>
Run Code Online (Sandbox Code Playgroud)
我尝试按照此链接中的说明操作我的代码:
<%: Html.EditorFor(m => m.StartDate, new { @class: "datepicker" }) %>
Run Code Online (Sandbox Code Playgroud)
但我得到一个编译器错误说:
语法错误,','预期
我在这做错了什么?
这里很奇怪的情况.出于某种原因,我无法在IQueryable对象上调用"Where"或任何其他函数.
这就是我所拥有的:
public IQueryable<Employee> Employees
{
get { return _entities.Employees.AsQueryable(); }
}
public ActionResult Index()
{
return View(new HomeViewModel
{
Employees = Employees.Where(e => e.Active == true)
});
}
Run Code Online (Sandbox Code Playgroud)
但Intellisense没有选择Where函数,我得到一个Build Error,它说:
'System.Linq.IQueryable'不包含'Where'的定义,也没有扩展方法'Where'可以找到接受类型'System.Linq.IQueryable'的第一个参数(你是否缺少using指令或汇编引用?)
但是我可以.Where像这样打电话它起作用:
public IQueryable<Employee> Employees
{
get { return _entities.Employees.AsQueryable().Where(e => e.Active == true); }
}
Run Code Online (Sandbox Code Playgroud)
我不知道是怎么回事.
我有一个电子邮件字段和一个确认电子邮件字段.我需要验证它们两者以确保它们的值匹配.
有没有办法添加规则来匹配这两个字段?
所以在Visual Studio中,当我去添加一个控制器时,我得到了这个对话框:

我很好奇Visual Studio将创建什么,如果我选择"使用实体框架进行读/写操作和视图的控制器",因为我正在使用EF.
所以我将我的Model类设置为创建的视图模型,为我的视图选择了Razor,但我不知道什么是数据上下文类?下拉列表中唯一的东西是我创建的视图模型.
asp.net ×7
c# ×6
asp.net-mvc ×5
javascript ×2
database ×1
epplus ×1
excel ×1
iis ×1
iis-7 ×1
iphone ×1
jquery ×1
linq ×1
sql ×1
sql-server ×1
web-clips ×1