Questions tagged «asp.net-mvc»

ASP.NET MVC框架是一个开源Web应用程序框架和工具,可实现针对Web应用程序量身定制并基于ASP.NET技术基础的模型-视图-控制器(MVC)模式版本。

9
具有键“ MY KEY”的ViewData项的类型为“ System.String”,但必须类型为“ IEnumerable <SelectListItem>”
我正在尝试使用ASP.NET MVC 2从与Linq-2-SQL映射的数据库中填充一个下拉列表,并不断收到此错误。 我很困惑,因为我IEnumerable&lt;SelectListItem&gt;在第二行声明了一个类型变量,但是错误使我认为情况并非如此。我觉得这应该很简单,但是我很挣扎。任何帮助表示赞赏。 这是我控制器的有趣之处: public ActionResult Create() { var db = new DB(); IEnumerable&lt;SelectListItem&gt; basetypes = db.Basetypes.Select( b =&gt; new SelectListItem { Value = b.basetype, Text = b.basetype }); ViewData["basetype"] = basetypes; return View(); } 这是我的观点中有趣的一点: &lt;div class="editor-label"&gt; &lt;%: Html.LabelFor(model =&gt; model.basetype) %&gt; &lt;/div&gt; &lt;div class="editor-field"&gt; &lt;%: Html.DropDownList("basetype") %&gt; …
142 asp.net-mvc 

12
使用Razor的MVC 4中的DropDownList
我正在尝试DropDownList在剃刀视图上创建一个。 有人可以帮我吗? 普通的HTML5代码: &lt;select id="dropdowntipo"&gt; &lt;option value="Exemplo1"&gt;Exemplo1&lt;/option&gt; &lt;option value="Exemplo2"&gt;Exemplo2&lt;/option&gt; &lt;option value="Exemplo3"&gt;Exemplo3&lt;/option&gt; &lt;/select&gt; 我尝试了这个: @{ var listItems = new List&lt;ListItem&gt; { new ListItem { Text = "Exemplo1", Value = "Exemplo1" }, new ListItem { Text = "Exemplo2", Value = "Exemplo2" }, new ListItem { Text = "Exemplo3", Value = "Exemplo3" } …
142 c#  asp.net-mvc  razor 

12
如何使MVC操作返回404
我有一个操作,它接收一个用于检索某些数据的字符串。如果此字符串导致未返回任何数据(可能是因为已删除),那么我想返回404并显示错误页面。 我目前仅使用return特殊视图来显示此操作特定的友好错误消息,指出未找到该项目。这可以正常工作,但理想情况下希望返回404状态代码,以便搜索引擎知道此内容不再存在,可以将其从搜索结果中删除。 最好的方法是什么? 设置Response.StatusCode = 404一样简单吗?

24
除了我之外,还有谁没有得到ASP.NET MVC吗?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 9年前关闭。 自CTP以来,我就一直在摆弄ASP.NET MVC,我喜欢他们做的很多事情,但是有些事情我却没有。 例如,我下载了beta1,并与它一起组成了一个个人网站/简历/博客。这是ViewSinglePost视图的一个片段: &lt;% // Display the "Next and Previous" links if (ViewData.Model.PreviousPost != null || ViewData.Model.NextPost != null) { %&gt; &lt;div&gt; &lt;% if (ViewData.Model.PreviousPost != null) { %&gt; &lt;span style="float: left;"&gt; &lt;% Response.Write(Html.ActionLink("&lt;&lt; " + ViewData.Model.PreviousPost.Subject, "view", new { id = ViewData.Model.PreviousPost.Id })); %&gt; &lt;/span&gt; &lt;% } …
141 asp.net-mvc 

15
发布到Azure网站后无法加载文件或程序集System.Web.Http.WebHost
我创建了一个Web项目,它在Visual Studio中运行良好。但是,将其发布到azurewebsites后出现以下错误。是什么原因引起的? 无法加载文件或程序集'System.Web.Http.WebHost,版本= 5.0.0.0,区域性=中性,PublicKeyToken = 31bf3856ad364e35'或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。(来自HRESULT的异常:0x80131040) 说明:执行当前Web请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其在代码中起源的更多信息。 异常详细信息:System.IO.FileLoadException:无法加载文件或程序集'System.Web.Http.WebHost,版本= 5.0.0.0,区域性=中性,PublicKeyToken = 31bf3856ad364e35'或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。(来自HRESULT的异常:0x80131040) 源错误: 当前Web请求的执行期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来标识有关异常的来源和位置的信息。 程序集加载跟踪:以下信息有助于确定为什么无法加载程序集'System.Web.Http.WebHost,版本= 5.0.0.0,文化=中性,PublicKeyToken = 31bf3856ad364e35'。 WRN:程序集绑定日志记录已关闭。要启用程序集绑定失败日志记录,请将注册表值[HKLM \ Software \ Microsoft \ Fusion!EnableLog](DWORD)设置为1。注意:程序集绑定失败日志记录会降低性能。要关闭此功能,请删除注册表值[HKLM \ Software \ Microsoft \ Fusion!EnableLog]。 以下是web.config文件的一部分。 &lt;system.web&gt; &lt;customErrors mode="Off"/&gt; &lt;compilation debug="true" targetFramework="4.5" /&gt; &lt;httpRuntime targetFramework="4.5" /&gt; &lt;authentication mode="Forms"&gt; &lt;forms loginUrl="~/Account/Login" timeout="2880" /&gt; &lt;/authentication&gt; &lt;pages&gt; &lt;namespaces&gt; …

10
ASP.NET WebApi与MVC?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 2年前关闭。 改善这个问题 使用ASP.NET MVC控制器,您可以公开不同格式的数据。AspNetWebAPI是专门为创建API而专门设计的,但是我可以使用MVC控制器轻松地做到这一点,我尚不清楚在什么情况下它会比传统的MVC控制器更好。我对WebApi的好处显而易见并且应该在我的应用程序中添加另一个复杂性层的场景感兴趣。 问题:就MVC而言,使用asp.net WebApi有哪些优点和/或缺点?

12
EF5:无法将文件“ {0}”作为数据库“ {1}”附加
我遇到了此处所述的确切问题(请参阅“无法附加到已删除的MDF文件”部分),但是在那里没有告诉您解决问题的方法... 简而言之,问题在于删除.mdf文件后,当我尝试使用EF 5.0访问数据库时会引发以下异常。 DataException-&gt; EntityException-&gt; SqlException: 无法将文件“ {0}”作为数据库“ {1}”附加 我确实删除了数据库文件,现在在运行应用程序时希望它使用其初始化程序时收到该讨厌的错误消息。有任何解决这个问题的方法吗?

17
Visual Studio 2015破碎的剃刀智能感知
在安装并修复VS2015实例后,我仍然无法在我的MVC视图中使用智能感知(服务器端)。第一次在会话中打开.cshtml文件并发送到Activitylog文件时,我会通过消息提示收到警报。在ActivityLog.xml(简短版本)中检索到的错误消息: System.ArgumentException:已添加项目。输入字典:'RazorSupportedRuntimeVersion' 这是完整版本: System.Reflection.TargetInvocationException:调用的目标引发了异常。---&gt; System.ArgumentException:已添加项目。输入字典:'RazorSupportedRuntimeVersion'要添加的键:在System.Collections.Hashtable.Insert(对象键,对象nvalue,布尔值添加)在System.Collections.Hashtable.Add(对象键,对象值)在System.Collections.Specialized.HybridDictionary.Add处添加“ RazorSupportedRuntimeVersion” Microsoft.VisualStudio.Utilities.PropertyCollection.AddProperty(对象键,对象属性)上的(对象键,对象值) Microsoft.Html.Editor.ContainedLanguage.Razor.RazorErrorTagger..ctor(ITextBuffer End。内部异常堆栈跟踪---在System。System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr,Binder活页夹,Object []参数,CultureInfo文化)在System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr)处运行(RuntimeMethodHandle.InvokeMethod ,活页夹活页夹,Object [] args,CultureInfo文化,System.Activator.CreateInstance(类型类型,BindingFlags bindingAttr,活页夹活页夹,Object [] args,CultureInfo文化,Object [] ActivationAttributes)处的Object [] activationAttributes,StackCrawlMark&stackMark) Microsoft.Html.Editor.ContainedLanguage.Common.ContainedCodeErrorTaggerProvider中的System.Activator.CreateInstance(类型,Object []参数),Microsoft.VisualStudio.Text.Tagging.Implementation.TagAggregator中的1.CreateTagger [T](ITextBuffer textBuffer)1.GatherTaggers(ITextBuffer textBuffer) 如果有帮助,我可以对字体进行一些自定义设置,并安装Web Essentials,Bundler&Minifier和Web Compiler扩展。 更新:打开我现有的Web应用程序或从头开始创建一个全新的Web应用程序时都会发生。在同一台计算机上还安装并运行了一个VS2013实例。 从上面的图片中可以看到,我根本没有智能感知,也没有任何代码着色。 关于如何解决它的任何线索?提前致谢。

6
如何优雅地处理时区
我的网站所在的时区与使用该应用程序的用户所在的时区不同。除此之外,用户可以具有特定的时区。我想知道其他SO用户和应用程序如何实现这一目标?最明显的部分是在数据库内部,日期/时间存储在UTC中。在服务器上时,所有日期/时间都应以UTC处理。但是,我看到了我要克服的三个问题: 以UTC格式获取当前时间(通过轻松解决DateTime.UtcNow)。 从数据库中提取日期/时间并将其显示给用户。有潜在的很多人要求在不同的视图上打印日期。我在考虑视图和控制器之间的某些层可以解决此问题。或启用自定义扩展方法DateTime(请参见下文)。主要缺点是,在视图中使用日期时间的每个位置,都必须调用extension方法! 这也会增加使用类似 JsonResult。您不能再轻易打电话了Json(myEnumerable),那一定是Json(myEnumerable.Select(transformAllDates))。也许AutoMapper可以在这种情况下提供帮助? 从用户处获取输入(本地到UTC)。例如,发布带有日期的表单将需要将日期转换为UTC之前的日期。首先想到的是创建一个自定义ModelBinder。 这是我认为在视图中使用的扩展: public static class DateTimeExtensions { public static DateTime UtcToLocal(this DateTime source, TimeZoneInfo localTimeZone) { return TimeZoneInfo.ConvertTimeFromUtc(source, localTimeZone); } public static DateTime LocalToUtc(this DateTime source, TimeZoneInfo localTimeZone) { source = DateTime.SpecifyKind(source, DateTimeKind.Unspecified); return TimeZoneInfo.ConvertTimeToUtc(source, localTimeZone); } } 考虑到很多应用程序现在都是基于云的,因此我认为考虑到时区是一件很平常的事,因为服务器的本地时间可能与预期的时区有很大差异。 之前是否已经解决过这个问题?有什么我想念的吗?想法和想法深表赞赏。 编辑:为了消除一些混乱,我想添加一些更多的细节。现在的问题不是如何在数据库中存储UTC时间,而是更多关于从UTC-&gt; Local和Local-&gt; UTC开始的过程。正如@Max Zerbini指出的那样,将UTC-&gt; Local代码放在视图中显然是明智的,但是使用的是DateTimeExtensions真正的答案吗?从用户那里获取输入信息时,接受日期作为用户的本地时间(因为这就是JS会使用的时间),然后使用a …

15
在ASP.NET MVC和IIS7中记录原始HTTP请求/响应
我正在编写一个Web服务(使用ASP.NET MVC),出于支持目的,我们希望能够以与原始在线格式(即包括HTTP)尽可能接近的方式记录请求和响应方法,路径,所有标头和正文)放入数据库。 我不确定如何以最少的“混杂”方式获取此数据。我可以通过检查HttpRequest对象的所有属性并从中构造一个字符串(并类似地用于响应)来重新构造我认为请求的外观,但我真的很想掌握实际的请求/响应数据电线上发送。 我很高兴使用任何拦截机制,例如过滤器,模块等,并且该解决方案可以特定于IIS7。但是,我宁愿仅将其保留在托管代码中。 有什么建议吗? 编辑:我注意到,HttpRequest有一种SaveAs方法可以将请求保存到磁盘,但是可以使用内部无法公开访问的内部帮助程序方法从内部状态重构请求(相当多的原因这不允许保存到用户提供的方法流,我不知道)。因此,开始看起来我必须尽力从对象中重建请求/响应文本……吟。 编辑2:请注意,我说了整个请求,包括方法,路径,标头等。当前响应仅查看不包含此信息的主体流。 编辑3:这里没有人阅读问题吗?到目前为止,有五个答案,但甚至没有人暗示一种获取整个原始在线请求的方法。是的,我知道我可以从请求对象中捕获输出流,标头,URL和所有其他内容。我已经在问题中说过,请参阅: 我可以通过检查HttpRequest对象的所有属性并从中构建一个字符串(以及类似的响应)来重新构造我认为的请求外观,但是我真的很想掌握实际的请求/响应数据是通过网络发送的。 如果您知道完全无法检索完整的原始数据(包括标题,URL,http方法等),那么这将很有用。同样,如果您知道如何以原始格式获取所有内容(是的,我仍然表示包括标头,url,http方法等),而无需重构(这就是我的要求),那么这将非常有用。但是告诉我可以从HttpRequest/ HttpResponse对象重建它没有用。我知道。我已经说过了 请注意:在任何人开始说这不是一个好主意,或将限制可伸缩性等之前,我们还将在分布式环境中实现限制,顺序交付和抗重播机制,因此无论如何都需要数据库日志记录。我不是在讨论关于这是否是一个好主意,我正在寻找如何做到这一点。



3
使用ASP.NET MVC进行多个参数的路由
我们公司正在为我们的产品开发API,并且我们正在考虑使用ASP.NET MVC。在设计API时,我们决定使用如下所示的调用,以便用户以XML格式从API请求信息: http://ws.audioscrobbler.com/2.0/?method=artist.getimages&amp;artist=cher&amp;api_key=b25b959554ed76058ac220b7b2e0a026 如您所见,传递了多个参数(即artist和api_key)。在ASP.NET MVC,artist将是controller,getImages在行动,但我会如何将多个参数传递给动作? 使用上述格式甚至可以做到吗?
139 c#  .net  asp.net-mvc  routing 

8
从动作过滤器属性重定向
在中进行重定向的最佳方法是什么ActionFilterAttribute?我有一个ActionFilterAttribute电话,IsAuthenticatedAttributeFilter并检查了会话变量的值。如果变量为false,则我希望应用程序重定向到登录页面。我更愿意使用路由名称进行重定向,SystemLogin但是此时任何重定向方法都可以。

6
通过POST(ajax)发送JSON数据并从Controller(MVC)接收JSON响应
我在javascript中创建了一个函数,像这样: function addNewManufacturer() { var name = $("#id-manuf-name").val(); var address = $("#id-manuf-address").val(); var phone = $("#id-manuf-phone").val(); var sendInfo = { Name: name, Address: address, Phone: phone }; $.ajax({ type: "POST", url: "/Home/Add", dataType: "json", success: function (msg) { if (msg) { alert("Somebody" + name + " was added in list …
139 jquery  ajax  asp.net-mvc  json 

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.