Tag: razor

确定上传的文件是否为MVC上的图像(任何格式)

所以我使用这个代码来查看: <form action="" method="post" enctype="multipart/form-data"> <label for="file">Filename:</label> <input type="file" name="file" id="file" /> <input type="submit" /> </form> 这为模型: [HttpPost] public ActionResult Index(HttpPostedFileBase file) { if (file.ContentLength > 0) { var fileName = Path.GetFileName(file.FileName); var path = Path.Combine(Server.MapPath("~/App_Data/uploads"), fileName); file.SaveAs(path); } return RedirectToAction("Index"); } 很好的工作,除非用户添加一个不是图像的文件。 我怎样才能保证上传的文件是一个图像。 谢谢

在PagedList中使用@ Html.DisplayNameFor()

我一直在尝试使用PagedList包来获取我的索引视图的分页。 一切进展顺利,在控制器层面,一切工作正常,每页只显示5条logging,并根据查询string显示适当的页面。 我的问题是在看法。 我改变了@Model到PagedList.IPagedList所以我可以访问Model.HasNextPage和其他属性,但现在@Html.DisplayNameFor(model => model.ItemName)不再工作。 我得到这个错误: PagedList.IPagedList<Dossier.Models.Item>' does not contain a definition for 'ItemName' and no extension method 'ItemName' accepting a first argument of type 'PagedList.IPagedList<Dossier.Models.Item>' could be found (are you missing a using directive or an assembly reference?) 以下是视图的相关部分: @model PagedList.IPagedList<Dossier.Models.Item> @using Dossier.Models.Item … <th> @Html.DisplayNameFor(model => model.ItemName) </th> 看来IPagedList与DisplayNameFor()不兼容。 任何想法为什么发生这种情况,以及我如何解决这个问题? 我知道我可以手动input列名,但我希望这些信息可以在模型中保留(并且可以改变)。

ASP.NET MVC Razor视图中的Html.Raw()

@{int count = 0;} @foreach (var item in Model.Resources) { @(count <= 3 ? Html.Raw("<div class=\"resource-row\">").ToString() : Html.Raw("")) // some code @(count <= 3 ? Html.Raw("</div>").ToString() : Html.Raw("")) @(count++) } 此代码部分不会编译,出现以下错误 Error 18 Type of conditional expression cannot be determined because there is no implicit conversion between 'string' and 'System.Web.IHtmlString' d:\Projects\IRC2011_HG\IRC2011\Views\Home\_AllResources.cshtml 21 24 IRC2011 我必须做什么? […]

ASP.Net MVC3 Html.PasswordFor不填充

在我看来,我有以下要素 @Html.PasswordFor(model => model.Password) 这是在创build/更新用户详细信息的屏幕上。 当我尝试更新用户时,该字段保持空白。 当我将此元素更改为TextBoxFor时,它将获取数据。 我如何获得填充密码字段。

在ASP.NET MVC Razor中使用通用模型

是否有可能在ASP.NET MVC 3(w / Razor)中使用通用模型? 以下语法错误会失败: @model DtoViewModel<T> where T : IDto

VS 2015 Razor自动完成/智能感应下拉菜单后立即隐藏

在VS 2015中,只有在Razor(.cshtml)文件中,大约一半的时间自动完成/build议列表/ intellisense不能正常工作(对不起,不确定实际期限…当你键入一个对象,并打.和属性和方法列表显示可供select) 行为是我打的时候 ,列表popup几分之一秒,然后closures。 它发生得如此之快,我尝试做一个快速的Backspace , Backspace 循环几次,至less可以看到我需要的名字,但是我通常无法得到它,最终不得不从代码中find确切的名字。 非常刺激… 它偶尔发生,没有我能find的真实模式。 这是我排除的模式: 打开的文件似乎并不重要。 我是否closures/重新打开文件似乎并不重要 无论我导航到另一个文件,回来似乎并不重要 它将在同一个文件中工作/不工作多次 它似乎没有任何特定的对象/财产/方法相关 我已经检查了我的所有选项(似乎没有Razor的文本编辑选项?),尝试清除caching,重新加载解决scheme/项目,重新启动VS,所有这些似乎仍然没有提供任何模式。 有没有人遇到这个问题,并有任何想法,我可以看看解决它? 例子这是一个非常简单的例子…新的项目,很less的代码/文件,非常简单的视图。 Model. 停下来,我应该有通常的基本方法,还有一个'Items'集合。 它popup了一秒钟,然后消失…没有lambdas /复杂的视图parsing涉及(这也是可重复的): 更新:模式 我注意到的事情: 如果我input@model ns.ns.ns.type ,它很less会发生在名称空间的“基本”末端。 正如我进一步朝着这种types发生的那样。 这个是间歇性的。 在某些情况下,它每次都能很好地工作。 例如,我经常使用DevExpress工具,并且从来没有看到任何扩展的行为(所以, @Html.DevExpress(). (和其他类似的,不一定是DevEx模型)永远不会造成问题) 几乎所有的时候,我正在访问我的@Model (这是我最想要的!)。 我发现有些情况下每次都是可重现的(见上面的例子),但是大概有90%以上 偶尔,当我通过对象树工作时,下一个工作会失败(例如: @models ProjName.Web.App.Subscriptions.Models.AccountCreateVM …它可能会在Subscriptions上失败,但在Models上工作正常) 偶尔,在自动完成模式下input名称会将其重新启动并重新开始工作。 在上面的例子中,开始为AccountCreateVMinputAcc会导致它重新开始工作。

使用Visual Studio 2012 RC的MVC 4 / Razor中的可移植类库

由于使用Visual Studio 2012 RC,因此在剃刀视图中使用可移植类库(.net 4.5&metroconfiguration文件)中的类时,会出现HttpCompileException。 例外:(德语翻译成英文,对不起) System.Web.HttpCompileException (0x80004005): c:\Users\user\AppData\Local\Temp\Temporary ASP.NET Files\root\1995167a\126b7c4d\App_Web_index.cshtml.1fbcdbb1.zaniprm5.0.cs(29): error CS0012: The type 'System.Object' is not in a referenced assembly is defined. Add a reference to the Assembly "System.Runtime, Version = 4.0.0.0, Culture = neutral, PublicKeyToken = b03f5f7f11d50a3a" added. at System.Web.Compilation.AssemblyBuilder.Compile() System.Web.Compilation.BuildProvidersCompiler.PerformBuild() System.Web.Compilation.BuildManager.CompileWebFile(VirtualPath virtualPath) … 解决scheme结构 可移植类库(.net 4.5&metro profile) 公共类User {…} MVC 4(.net […]

在部分视图中修改MVC 3 ViewBag不会保留到_Layout.cshtml

我正在使用MVC 3与Razor视图引擎。 我想在部分视图中的ViewBag中设置一些值,并希望在_Layout.cshtml中检索这些值。 例如,当你设置一个默认的ASP.NET MVC 3项目时,你会在“/ Views / Shared”文件夹中得到一个_Layout.cshtml文件。 在_Layout.cshtml页面标题是这样设置的: <title>@ViewBag.PageTitle</title> 然后在“/Views/Home/About.cshtml”查看ViewBag的内容被修改: @{ ViewBag.Title = "About Us"; } 这工作正常。 关于视图呈现时,页面标题是“关于我们”。 所以,现在我想在我的关于视图中呈现一个部分视图,我想修改我的部分视图中的ViewBag.Title。 ( “/Views/Shared/SomePartial.cshtml”) @Html.Partial("SomePartial") 在这个部分视图中,我有这样的代码: @{ ViewBag.Title = "About Us From The Partial View"; } 当我debugging这段代码,我看到ViewBag.Title设置为“关于我们”,然后在部分视图,我看到它重置为“关于我们从部分视图”,但是当代码命中_Layout.cshtml它去回到“关于我们”。 这是否意味着如果在部分视图中修改了ViewBag的内容,那么在主视图(About.cshtml)或_Layout.cshtml中不会显示(可访问)这些更改? 提前致谢!

在Razor中使用站点根相对链接

我有一个网站,与剃刀工作正常(C#)所有的编码工作正常,当我使用我的本地testing(WebMatrix IIS)。 当我把它放在我的服务器上“在线”的时候,网站并不在它自己的网站的根部 例如: http:// intranet.mycompany.com/inform 这基本上是我的文件夹结构的“根”,所以我所有的文件夹从那里开始(CSS文件default.cshtml等等) 我的“_PageStart.cshtml”看到它正确的原因,当我从链接访问我的网站http://intranet.mycompany.com/inform它给了我在_PageStart.cshtmlconfiguration的布局(它真的显示布局+呈现default.cshtml) 但没有其他东西正在得到正确的道路,例如: <img src="~http://img.dovov.comlogos/hdr.png" /> IMG持有人在那里我可以看到它,但显示链接被打破…当我右键单击IMG持有人,并做属性,以查看文件应该在哪里它显示我: http:// intranet.mycompany.comhttp://img.dovov.comlogos/hdr.png 所以这是“完整的”根不是相对的根… 我该如何解决这个问题?

“System.Web.Mvc.MvcWebRazorHostFactory”types的expression式不能用于返回types“System.Web.WebPages.Razor.WebRazorHostFactory”

当我尝试运行一个我接pipe的项目时,出现这个错误。 我假设我的web.config中有一个问题,但我不知道要寻找什么。 “System.Web.Mvc.MvcWebRazorHostFactory”types的expression式不能用于返回types“System.Web.WebPages.Razor.WebRazorHostFactory” 任何build议在同一个高度赞赏。