Questions tagged «asp.net-mvc»

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

3
在HTML帮助器中生成URL
通常,在ASP.NET视图中,可以使用以下函数来获取URL(而不是<a>): Url.Action("Action", "Controller"); 但是,我无法从自定义HTML帮助程序中找到方法。我有 public class MyCustomHelper { public static string ExtensionMethod(this HtmlHelper helper) { } } helper变量具有Action和GenerateLink方法,但是它们生成<a>的。我在ASP.NET MVC源代码中做了一些挖掘,但是找不到直接的方法。 问题在于上面的Url是视图类的成员,并且对于其实例化,它需要一些上下文和路由映射(我不想处理它们,无论如何也不应这样做)。另外,HtmlHelper类的实例还具有一些上下文,我认为它们是Url实例的上下文信息的子集的晚餐(但我不想再处理它)。 总而言之,我认为这是有可能的,但是由于我能看到的所有方式都涉及对内部ASP.NET或多或少的某些操作,因此我想知道是否有更好的方法。 编辑:例如,我看到的一种可能性是: public class MyCustomHelper { public static string ExtensionMethod(this HtmlHelper helper) { UrlHelper urlHelper = new UrlHelper(helper.ViewContext.RequestContext); urlHelper.Action("Action", "Controller"); } } 但这似乎不对。我不想自己处理UrlHelper的实例。必须有一个更简单的方法。


11
在ASP.NET MVC中的Ajax中包含antiforgerytoken
我在使用Ajax的AntiForgeryToken时遇到麻烦。我正在使用ASP.NET MVC3。我在jQuery Ajax调用和Html.AntiForgeryToken()中尝试了该解决方案。使用该解决方案,令牌现在可以通过: var data = { ... } // with token, key is '__RequestVerificationToken' $.ajax({ type: "POST", data: data, datatype: "json", traditional: true, contentType: "application/json; charset=utf-8", url: myURL, success: function (response) { ... }, error: function (response) { ... } }); 当我删除该[ValidateAntiForgeryToken]属性只是为了查看数据(带有令牌)是否作为参数传递给控制器​​时,我可以看到它们正在传递。但是由于某种原因,A required anti-forgery token was not supplied or …

3
Visual Studio-Resx文件默认从“内部”到“公共”
每次我在VS中编辑资源文件时,它都会重新生成相应的代码,并将类访问修饰符设置为internal。 每次编辑resx时,都很难按Ctrl-F-> ReplaceAll。是否有属性/设置,以便可以将其默认设置为公共? internal class MyResource { internal static global::System.Resources.ResourceManager ResourceManager {...} } 我需要所有这些internal是public所有的时间。



3
将ASP.NET MVC5身份验证添加到现有项目
我在网络上看到过很多类似的页面,但是大多数页面使用的是新项目而不是现有的项目,或者没有必要的功能。因此,我有一个现有MVC 5项目,希望将ASP.NET MVC5 Identity与登录,电子邮件确认和密码重置功能集成在一起。 除此之外,我还需要在数据库上创建所有必要的表,即用户,角色,组等。(我在项目中使用EF Code First)。是否有符合这些需求的文章或样品?任何建议,将不胜感激。提前致谢...

9
使用ASP.NET MVC数据类型属性的电子邮件地址验证
我在验证电子邮件时遇到一些问题。 在我的模型中: [Required(ErrorMessage = "Field can't be empty")] [DataType(DataType.EmailAddress, ErrorMessage = "E-mail is not valid")] public string ReceiverMail { get; set; } 在我看来: <script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script> <script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script> @Html.TextBoxFor(m => m.ReceiverMail, new { @placeholder="E-mail"}) <br /> @Html.ValidationMessageFor(m => m.ReceiverMail) 现在,当您将字段留空时,它可以正确显示“字段不能为空”。但是,当您填写无效的电子邮件地址时,例如:“ fwenrjfw”,则该表格不会显示“电子邮件无效”。 如何获取表格以验证输入内容是否为电子邮件地址?我正在为此寻求帮助。

9
如何说服IE仅显示application / json而不是提供下载?
在调试使用AJAX的jQuery应用程序时,我经常需要查看服务返回给浏览器的json。因此,我将JSON数据的URL放入地址栏中。 这对ASPNET很好,因为在发生编码错误的情况下,我可以在浏览器中看到ASPNET诊断错误: 但是,当服务器端代码正常工作并实际返回JSON时,IE会提示我下载它,因此看不到响应。 我可以让IE不这样做吗,换句话说,就是像纯文本一样显示它吗? 我知道如果将Content-Type标头设置为,我可以做到这一点text/plain。 但这特别是一个ASPNET MVC应用程序的上下文,当我在一种操作方法上使用JsonResult时,它将自动设置响应。我还想保留适当的内容类型,而不是仅仅为了支持调试而更改它。

6
来自资源的DisplayName属性?
我有一个本地化的应用程序,我想知道是否可以DisplayName从Resource中为特定模型属性设置。 我想做这样的事情: public class MyModel { [Required] [DisplayName(Resources.Resources.labelForName)] public string name{ get; set; } } 但是我不能接受,正如编译器所说:“属性参数必须是属性参数类型的常量表达式,typeof表达式或数组创建表达式” :( 有什么解决方法吗?我正在手动输出标签,但是验证器输出需要这些标签!

9
如何获取当前用户,以及如何在MVC5中使用User类?
如何获取MVC 5中当前登录用户的ID ?我尝试了StackOverflow建议,但似乎不适用于MVC 5。 另外,将素材分配给用户的MVC 5最佳实践是什么?(例如,User应该有Items,我应该存储在用户Id的Item?我可以扩展User与类List<Item>导航属性? 我正在使用MVC模板中的“个人用户帐户”。 尝试了这些: 如何在MVC应用程序中获得当前用户? 如何在ASP.NET MVC中获取当前用户 获取登录的用户ID-这将引发以下情况: 'Membership.GetUser()'为空。

7
在ASP.NET MVC中的模型中调用UrlHelper
我需要在ASP.NET MVC中的模型中生成一些URL。我想调用UrlHelper.Action()之类的东西,它使用路由生成URL。我不介意填写通常的空白,例如主机名,方案等。 有什么我可以调用的方法吗?有没有办法构造一个UrlHelper?

6
在ASP.NET MVC中执行异步操作使用.NET 4上ThreadPool中的线程
提出这个问题后,在ASP.NET MVC中使用异步操作时,我感到很舒服。因此,我就此写了两篇博客文章: 我对C#5.0和ASP.NET MVC Web应用程序中基于任务的异步编程的看法 ASP.NET MVC 4中使用基于任务的异步编程模型(TAP)进行异步数据库调用 我对ASP.NET MVC上的异步操作有太多误解。 我总是听到这句话:如果操作异步运行,应用程序可以更好地扩展 我也经常听到这样的句子:如果您的流量很大,最好不要异步执行查询-消耗2个额外的线程来为一个请求服务会占用其他传入请求的资源。 我认为这两个句子不一致。 我没有太多有关线程池如何在ASP.NET上工作的信息,但是我知道线程池的线程大小有限。因此,第二句话必须与此问题相关。 而且我想知道ASP.NET MVC中的异步操作是否使用.NET 4上ThreadPool的线程? 例如,当我们实现AsyncController时,应用程序如何结构?如果流量很大,实现AsyncController是个好主意吗? 有没有人可以把这个黑色的窗帘拉开,向我解释有关ASP.NET MVC 3(NET 4)异步的问题? 编辑: 我已经阅读了近百次以下文档,并且我了解主要交易,但是我仍然感到困惑,因为那里有太多不一致的评论。 在ASP.NET MVC中使用异步控制器 编辑: 假设我有如下所示的控制器动作(AsyncController虽然不是实现): public ViewResult Index() { Task.Factory.StartNew(() => { //Do an advanced looging here which takes a while }); return View(); } 如您在此处看到的,我执行了一项操作,却忘记了它。然后,我立即返回而无需等待它完成。 在这种情况下,这是否必须使用线程池中的线程?如果是这样,则在完成后,该线程将如何处理?GC完成后是否进来并进行清理? …

1
与ASP.NET WebForms相比,ASP.NET MVC页面的“页面生命周期”是什么?
与ASP.NET WebForms相比,ASP.NET MVC页面的“页面生命周期”是什么? 我正在尝试更好地理解此“简单”问题,以确定是否可以轻松地从ASP.NET WebForms转换(非常)简单站点中的现有页面。 我正在寻找以下过程的“转换”,或者替代的生命周期。 我目前正在做什么: (是的,我知道任何能够回答我的问题的人都已经知道这一切-我只是想对“生命周期”进行比较,所以我想我首先要填写我们已经知道的东西) 呈现页面: 我有一个包含基本模板的母版页 我有内容页面,这些页面为我提供放置内容的母版页中的命名区域。 在每个内容页面的事件处理程序中,我从数据库中加载数据(通常是只读的)。 我将此数据绑定到代表网格,下拉列表或转发器的ASP.NET控件。这些数据全部“存在”在生成的HTML内。其中一些进入ViewState(但我不会过多介绍它!) 我设置属性或将数据绑定到页面上的“图像”或“文本框”控件之类的某些项目。 该页面被发送到呈现为不可重用HTML的客户端。 我尽量避免使用ViewState,而不是页面所需的最低要求。 客户端(不使用ASP.NET AJAX): 我可能会使用JQuery和一些讨厌的技巧在页面上查找控件并对其执行操作。 如果用户从下拉菜单中进行选择-则会生成回发,这会触发我的代码背后的C#事件。该事件可能会进入数据库,但是无论执行什么操作,都会完全重新生成一个HTML页面,最终将其发送回客户端。 我可能会使用Page.Session来存储键值对,以后需要重用 那么借助MVC,这个“生命周期”将如何改变?
158 asp.net-mvc 

12
应该将排序逻辑放置在模型,视图还是控制器中?[关闭]
想要改善这篇文章吗?提供此问题的详细答案,包括引文和答案正确的解释。答案不够详细的答案可能会被编辑或删除。 已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引文回答。 6年前关闭。 改善这个问题 我有一个下拉列表,可显示从表到最终用户的值。我希望这些值按字母顺序排序。 根据适当的MVC设计,我应该在哪一层放置排序逻辑:模型,视图还是控制器? 编辑:针对LarsH的问题,“您是指确定所需排序顺序的代码还是执行排序的代码?”,我最初指的是确定所需排序顺序的代码。

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.