以下是什么问题?
@Convert.ToDateTime((@item.Date.ToShortDateString())," dd - M - yy")
Run Code Online (Sandbox Code Playgroud)
@ item.Date正在显示20/11/2005 12:00 am我希望显示2011年11月20日
有人知道如何在动作中获取生成的视图html吗?
它是这样的:
public ActionResult Do()
{
var html = RenderView("hello", model);
...
}
Run Code Online (Sandbox Code Playgroud) 我正在使用Razor视图引擎尝试渲染一个类似于以下内容的HTML列表:
<ul>
<li id="item_1">Item 1</li>
<li id="item_2">Item 2</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
我试图用来呈现此列表的代码是:
<ul>
@foreach (var item in Model.TheItems)
{
<li id="item_@item.TheItemId">Item @item.TheItemId</li>
}
</ul>
Run Code Online (Sandbox Code Playgroud)
解析器是窒息的,因为它认为id属性中下划线右侧的所有内容都是纯文本,不应该被解析.我不确定如何指示解析器呈现TheItemId.
我不想在模型对象上包含item_前缀的属性.
我还必须保持这种语法,因为我使用带有JQuery Sortable的列表以及需要使用此语法格式化id属性的serialize函数.
我创建了一个新的MVC3项目,点击F5,看到了示例页面.
然后我使用NuGet获得Ninject.MVC扩展.我根据Ninject文档,如何设置MVC3应用程序修改了我的global.asax :
public class MvcApplication : NinjectHttpApplication
{
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new HandleErrorAttribute());
}
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index",
id = UrlParameter.Optional });
}
protected override IKernel CreateKernel()
{
var kernel = new StandardKernel();
kernel.Load(Assembly.GetExecutingAssembly());
return kernel;
}
protected override void OnApplicationStarted()
{
base.OnApplicationStarted();
AreaRegistration.RegisterAllAreas();
RegisterGlobalFilters(GlobalFilters.Filters);
RegisterRoutes(RouteTable.Routes);
}
}
Run Code Online (Sandbox Code Playgroud)
现在当我运行应用程序时,我得到了死亡的黄色屏幕,但有以下异常:
InvalidOperationException - …
@* Omitted code.. *@
@RenderBody()
@RenderSection("Sidebar", required: false)
Run Code Online (Sandbox Code Playgroud)
Omitted code如果RenderSection Sidebar存在与否,有没有办法知道该部分?
我有一个.csHtml带有javascript函数的-razor文件,它使用@Url.Content内部的C#函数作为ajax URL.
我想将该函数移动到.js从我的视图引用的文件.
问题是javascript不"知道" @符号并且不解析C#代码.
有没有办法.js用"@"符号从视图中引用文件?
假设我有这个局部视图:
Your name is <strong>@firstName @lastName</strong>
Run Code Online (Sandbox Code Playgroud)
这可以通过仅限儿童的动作来访问:
[ChildActionOnly]
public ActionResult FullName(string firstName, string lastName)
{
}
Run Code Online (Sandbox Code Playgroud)
我想在另一个视图中使用这个局部视图:
@Html.RenderPartial("FullName")
Run Code Online (Sandbox Code Playgroud)
换句话说,我希望能够将firstName和lastName从视图传递到局部视图.我该怎么办?
model-view-controller asp.net-mvc controller asp.net-mvc-partialview asp.net-mvc-3
在MVC剃须刀中,我将当前日期放在数据库中,就像这样.
model.Returndate = DateTime.Now.Date.ToShortDateString();
Run Code Online (Sandbox Code Playgroud)
由于数据库字段是日期时间数据类型,并且我将当前日期转换为字符串格式,这不起作用..我该怎么做?我正在做字符串格式,因为我希望日期为mm/dd/yyyy格式而不是mm/dd/yyyy hh:mm:ss时间格式..
编辑:
在控制器中我有
var model = new ViewModel();
model.ReturnDate = DateTime.Now;
return PartialView("PartialView", model);
Run Code Online (Sandbox Code Playgroud)
在部分视图中,我有
@Html.EditorFor(model => model.Returndate)
Run Code Online (Sandbox Code Playgroud)
这是将日期显示为日期和时间的地方......我只想显示日期.不是时候.我希望这个编辑更好地解释.
我正在尝试在我的应用程序中使用ViewBag,我有所有最近的dll,最新版本的MVC 3,但我仍然得到错误:
"当前上下文中不存在'ViewBag'这个名称"
我甚至已经卸载然后重新安装了MVC 3但是没有任何变化.
另外,我不相信这些dll会出现在GAC中.
可能是我的问题?或者如何将dll添加到GAC?
asp.net-mvc-3 ×10
asp.net-mvc ×7
razor ×6
c# ×3
asp.net ×1
controller ×1
datetime ×1
dll ×1
gac ×1
javascript ×1
markup ×1
ninject ×1
syntax ×1
viewbag ×1