Questions tagged «asp.net-mvc-3»

ASP.NET MVC 3是Model-View-Controller扩展的第三个主要版本,用于在.NET框架中开发Web应用程序。

7
实体框架5更新记录
我一直在探索在ASP.NET MVC3环境中在Entity Framework 5中编辑/更新记录的不同方法,但是到目前为止,它们都没有打勾我需要的所有框。我会解释原因。 我发现了三种方法的优缺点: 方法1-加载原始记录,更新每个属性 var original = db.Users.Find(updatedUser.UserId); if (original != null) { original.BusinessEntityId = updatedUser.BusinessEntityId; original.Email = updatedUser.Email; original.EmployeeId = updatedUser.EmployeeId; original.Forename = updatedUser.Forename; original.Surname = updatedUser.Surname; original.Telephone = updatedUser.Telephone; original.Title = updatedUser.Title; original.Fax = updatedUser.Fax; original.ASPNetUserId = updatedUser.ASPNetUserId; db.SaveChanges(); } 优点 可以指定要更改的属性 视图不需要包含每个属性 缺点 在数据库上进行2次查询以加载原始文件,然后对其进行更新 方法2-加载原始记录,设置更改的值 …

21
文件上传ASP.NET MVC 3.0
(序言:此问题与2011年发布的 ASP.NET MVC 3.0 有关,与2019年发布的ASP.NET Core 3.0有关) 我想在asp.net mvc中上传文件。如何使用html input file控件上传文件?


15
在razor视图引擎中转义@字符
我正在使用Razor作为视图引擎创建一个示例ASP.NET MVC 3站点。剃刀的语法以@字符例如开头@RenderBody()。如果我在cshtml页面上写@test,它会给我解析错误 CS0103:名称“ test”在当前上下文中不存在 如何转义“ @”字符?


6
如何在剃刀中使用三元运算符(特别是在HTML属性上)?
借助WebForms视图引擎,我通常将三元运算符用于非常简单的条件,尤其是在HTML属性中。例如: <a class="<%=User.Identity.IsAuthenticated ? "auth" : "anon" %>">My link here</a> 上面的代码将为<a>标签提供auth或的类,anon具体取决于用户是否通过身份验证。 Razor视图引擎的等效语法是什么?因为Razor要求HTML标签“知道”何时跳入和跳出代码和标记,所以我目前坚持以下几点: @if(User.Identity.IsAuthenticated) { <a class="auth">My link here</a> } else { <a class="anon">My link here</a> } 坦率地说,这是可怕的。 我很想做一些喜欢这一点,但我在努力了解如何在剃刀: <a class="@=User.Identity.IsAuthenticated ? "auth" : "anon";">My link here</a> - 更新: 在此期间,我创建了以下HtmlHelper: public static MvcHtmlString Conditional(this HtmlHelper html, Boolean condition, String ifTrue, String …

5
为什么需要JsonRequestBehavior?
为什么Json Request Behavior需要? 如果我想将HttpGet请求限制为我的操作,则可以使用[HttpPost]属性装饰该操作 例: [HttpPost] public JsonResult Foo() { return Json("Secrets"); } // Instead of: public JsonResult Foo() { return Json("Secrets", JsonRequestBehavior.AllowGet); } 为什么还[HttpPost]不够? 为什么框架会用我们拥有的JsonRequestBehavior.AllowGet所有东西“困扰”我们JsonResult。如果我想拒绝获取请求,则添加HttpPost属性。

7
如何在Razor中声明局部变量?
我正在asp.net mvc 3中开发一个Web应用程序。在使用剃刀的视图中,我想声明一些局部变量并在整个页面中使用它。如何才能做到这一点? 能够执行以下操作似乎很琐碎: @bool isUserConnected = string.IsNullOrEmpty(Model.CreatorFullName); @if (isUserConnected) { // meaning that the viewing user has not been saved <div> <div> click to join us </div> <a id="login" href="javascript:void(0);" style="display: inline; ">join</a> </div> } 但这是行不通的。这可能吗?

7
如何使用jQuery设置输入文本的值
我有一个输入文本是这样的: <div class="editor-label"> @Html.LabelFor(model => model.EmployeeId, "Employee Number") </div> <div class="editor-field textBoxEmployeeNumber"> @Html.EditorFor(model => model.EmployeeId) @Html.ValidationMessageFor(model => model.EmployeeId) </div> 哪些产生以下HTML <div class="editor-label"> <label for="EmployeeId">Employee Number</label> </div> <div class="editor-field textBoxEmployeeNumber"> <input class="text-box single-line" data-val="true" data-val-number="The field EmployeeId must be a number." data-val-required="The EmployeeId field is required." id="EmployeeId" name="EmployeeId" type="text" value="" /> …


22
使用Razor View Engine从局部视图ASP.NET MVC 3将内容注入特定部分
我在我的部分中定义了此部分 _Layout.cshtml @RenderSection("Scripts", false) 我可以很容易地从视图中使用它: @section Scripts { @*Stuff comes here*@ } 我正在努力的是如何从局部视图中将一些内容注入到本节中。 假设这是我的视图页面: @section Scripts { <script> //code comes here </script> } <div> poo bar poo </div> <div> @Html.Partial("_myPartial") </div> 我需要Scripts从_myPartial局部视图的部分中注入一些内容。 我怎样才能做到这一点?

25
找到多个与名为“ Home”的控制器匹配的类型
我目前有两个不相关的MVC3项目在线托管。 一个工作正常,另一个不工作,给我错误: 找到了多个与名为“ Home”的控制器匹配的类型。如果为该请求提供服务的路由('{controller} / {action} / {id}')没有指定名称空间来搜索与该请求匹配的控制器,则可能会发生这种情况。 如果是这种情况,请通过调用带有“名称空间”参数的“ MapRoute”方法的重载来注册此路由。 托管人的工作方式是,他为我提供FTP访问权限,在该文件夹中,我还有另外两个文件夹,每个文件夹用于我的每个应用程序。 ftpFolderA2 / foo.com ftpFolderA2 / bar.com foo.com正常运行,我将应用程序发布到本地文件系统,然后通过FTP传输内容,并且可以正常工作。 当我上传并尝试运行bar.com时,上述问题引发,并阻止了我使用我的网站。尽管foo.com仍然有效。 bar.com是否在ftpFolderA2内的任何地方从控制器进行搜索,这就是为什么它正在寻找另一个HomeController?我如何告诉它仅应在Controller文件夹中查找? 事实: 不使用区域。这是两个完全不相关的项目。我将每个已发布的项目放入每个相应的文件夹中。没有什么花哨。 每个项目只有1个HomeController。 有人可以确认这是问题吗?

3
如何在ASP.NET MVC 3剃须刀ViewStart文件中指定不同的布局?
我想在我的应用程序中有2个单独的布局。可以说一个是网站的“公共”部分,另一个是会员侧的。 为了简单起见,可以说所有这些站点的所有逻辑都巧妙地包装在2个不同的控制器中。 PublicController StaffController 并且它们每个都有一个对应的布局,用于每个视图下的所有视图。 _PublicLayout.cshtml _StaffLayout.cshtml 如何使用_ViewStart.cshtml文件指定“公共”下的所有“视图” /“操作”都使用PublicLayout,“工作人员”下的所有内容都使用StaffLayout? 谢谢!

9
将文件返回到ASP.NET MVC中的“查看/下载”
我在将数据库中存储的文件发送回ASP.NET MVC中的用户时遇到问题。我想要的是一个列出两个链接的视图,一个链接用于查看文件,并让发送给浏览器的mimetype确定应如何处理它,另一个链接用于强制下载。 如果我选择查看一个名为的文件SomeRandomFile.bak,而浏览器没有用于打开此类型文件的关联程序,则默认为下载行为时,我没有任何问题。但是,如果我选择查看一个名为的文件,SomeRandomFile.pdf或者SomeRandomFile.jpg我只想打开该文件。但我也想保留下载链接到一边,以便无论文件类型如何都可以强制执行下载提示。这有意义吗? 我已经尝试过了FileStreamResult,它适用于大多数文件,它的构造函数默认情况下不接受文件名,因此根据URL为未知文件分配了一个文件名(该文件名不知道基于内容类型的扩展名)。如果通过指定来强制使用文件名,那么浏览器将无法直接打开文件,并且会出现下载提示。有人遇到过这种情况么? 这些是到目前为止我尝试过的例子。 //Gives me a download prompt. return File(document.Data, document.ContentType, document.Name); //Opens if it is a known extension type, downloads otherwise (download has bogus name and missing extension) return new FileStreamResult(new MemoryStream(document.Data), document.ContentType); //Gives me a download prompt (lose the ability to open by default if known …


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.