Tag: asp.net mvc 3

在MVC3中,是否可以在不同的区域中使用相同的控制器名称?

在MVC3中,我有以下几个方面: 移动 砂箱 然后我像这样路由地图: context.MapRoute( “Sandbox_default”, “Sandbox/{controller}/{action}/{id}”, new { controller = “SandboxHome”, action = “Index”, id = UrlParameter.Optional } 和 context.MapRoute( “Mobile_default”, “Mobile/{controller}/{action}/{id}”, new { controller = “MobileHome”, action = “Index”, id = UrlParameter.Optional } ); 问题是这给url如下: HTTP://本地主机:58784 /移动/ MobileHome 和 HTTP://本地主机:58784 /沙盒/ SandboxHome 但我希望这样: HTTP://本地主机:58784 /手机/家 HTTP://本地主机:58784 /沙盒/主页 问题是当我将SandboxHome-Controller重命名为Home,而MobileHome-Controller重命名为Home时,它将提供所需的URL,它将无法编译,说它有两个类用于HomeController。 如何在不同区域使用相同的控制器名称?

为什么不使用Html.EditorForModel()

好吧,我刚刚发现了MVC中的EditorForModel ,我想知道何时应该在每个属性上使用它而不是EditorFor ? 为什么当我添加强类型视图时它不使用它并在每个属性上构建一个EditorFor ? 我迟到了…但感谢您的信息!

Asp:net MVC 3:@ Html.Editor在模板中对我的模型进行子集合?

我已经被困了很长时间来编辑我的模型的子集合,模型的集合变为空。 我终于找到了一个解决方案,但我发现它有点脏: 首先是我的测试数据: 模型对象 : public class ContainerObject { public String Title { get; set; } public List ObjectList { get; set; } } 子集合对象 : public class ContainedObject { public int Id { get; set; } public String Text { get; set; } public Boolean IsSelected { get; set; } } 生成对象的控制器方法 public ActionResult […]

在ASP.Net MVC中绘制图表3

我在ASP.Net MVC 3中使用Chart web helper。我在网上看到了一系列shiny的图像,显​​示了这个API的function,但几乎没有关于如何设置图表样式的文档。 例如,我需要在图表外显示标签,我想指定百分比,而不是十进制值等。 有一个webforms项目可供下载: http ://weblogs.asp.net/scottgu/archive/2010/02/07/built-in-charting-controls-vs-2010-and-net-4-series.aspx和非常简单的类文档,解释了如何分配值和指定基本尺寸。 据我所知,MVC 3尚未发布任何书籍,但肯定会有某种文档说明如何使用该工具? 谢谢 编辑: 根据我的阅读,ASP.Net MVC 3要么通过删除图表样式的能力退出图表工具,要么根本没有记录。 看过这篇文章: http : //forums.asp.net/t/1620783.aspx/1?ASP+NET+MVC+3+Beta+Chart+Helper+Styling+Please+Help+ ,在那里描述了一个非常类似的问题。 编辑2:似乎Microsoft在MVC 3中部分实现了MSChartsfunction。为了使用MSCharts,必须在web.configuration文件中导入和注册System.Web.DataVisualization程序集。 Ť 这样,请求就从视图发送到控制器。 控制器生成图形的图像并传回图像结果。 然后,结果将显示在视图中。 这很有用,因为它提供了某种分离。 我仍然不明白为什么System.WebHelpers.Chart还没有提供这个function,但希望它能在不久的将来得到解决。 编辑3:还有几点要做。 不要在视图中构建图形 – 它们应由控制器提供。 如果您决定使用视图构建图形,请确保更新Views文件夹中的web.config以在命名空间部分中包含 。 程序集和命名空间的名称有点令人困惑。 当名称空间被称为System.Web.UI.DataVisualization时,会调用程序集:System.Web.DataVisualization。 最后,我认为图表API很棒,它提供图像,这意味着可以从所有Web浏览器访问图表。 图表的质量很棒。 我已经研究过Fusion Charts,HighCharts和其他一些jQuery / JavaScript / Flash驱动图表等替代品。 他们都试图从你那里拿走300英镑到1000英镑而不试图满足开发人员的最基本需求。

在ASP.NET MVC 3中使用视图模型

我对查看模型比较新,我遇到了一些使用它们的问题。 这是一种情况,我想知道最佳做法是什么…… 我将视图所需的所有信息都放入视图模型中。 这是一个例子 – 请原谅任何错误,这是我的头顶编码。 public ActionResult Edit(int id) { var project = ProjectService.GetProject(id); if (project == null) // Something about not found, possibly a redirect to 404. var model = new ProjectEdit(); model.MapFrom(project); // Extension method using AutoMapper. return View(model); } 如果屏幕只允许编辑一个或两个字段,当视图模型返回时,它会丢失相当多的数据(应该是这样)。 [HttpPost] public ActionResult Edit(int id, ProjectEdit model) { var project = […]

Ninject和MVC3:dependency injection到动作filter

我发现了大量关于如何使用Ninject在ASP.NET MVC3中对ActionFilter进行属性注入的不确定文章和问题。 有人能给我一个明确的例子吗? 这是我的自定义身份validation属性。 public class CustomAuthorizeAttribute : AuthorizeAttribute { [Inject] public IService Service { get; set; } [Inject] public IAuthenticationHelper AuthenticationHelper { get; set; } public override void OnAuthorization(AuthorizationContext filterContext) { //My custom code } } 我正在使用WebActivator来设置Ninject [assembly: WebActivator.PreApplicationStartMethod(typeof(MyProject.Web.AppStart_NinjectMvc3), “Start”)] namespace MyProject.Web { public static class AppStart_NinjectMvc3 { public static void RegisterServices(IKernel kernel) { […]

用于检查输入字符串的正则表达式是用波斯语

我和MVC一起工作,我是新手。 我想通过[RegularExpression]validation检查输入值仅在波斯语(字符)中。 所以我认为使用正则表达式需要检查unicodes的范围,但我不知道如何找到范围的波斯字符Unicode。 我对这个正则表达式是对的吗? 你的建议是什么?如何在波斯语中找到Unicode的范围

(OAuthException – #2500)必须使用活动访问令牌来查询有关当前用户的信息

string accessToken = GetAccessToken(); string accessKey = accessToken.Split(‘=’)[1]; var client = new FacebookClient(accessKey); dynamic me = client.Get(“me”); 这是获取访问令牌的方法,它确实返回了一个有效的访问令牌 private static string GetAccessToken() { // Create a request using a URL that can receive a post. WebRequest request = WebRequest.Create(“https://graph.facebook.com/oauth/access_token?grant_type=client_credentials&client_id=201193246663533&client_secret=secretkeyhere”); // Set the Method property of the request to POST. request.Method = “POST”; // Create POST […]

无法将方法组“ToList”转换为非委托类型

我正在尝试编写一个生成多张发票的方法。 这是针对一所大学,客户在一个名为Enrollments的课程中注册了导师。 通过这种方法,我试图累积导师客户的月费乘以他们的佣金百分比,因为导师在他们提供的课程上获得一定的佣金。 这是我的代码: public ActionResult CreateBulkCommissions() { var month = DateTime.Now.ToString(“MMMM”); var enrolments = db.Enrollments.ToList(); var newCommissions = from enrolment in enrolments select new TutorCommission() { CommissionAmount = enrolment.MonthlyFee, CommissionMonth = month, // string constant CommissionStatus = “Unpaid”, Tutor = new Tutor { TutorNoID = enrolment.Tutor.TutorNoID, TutorCommissionPercentage = enrolment.Tutor.TutorCommissionPercentage } }; foreach (var newCommission […]

分割字符串时出现混淆错误

我有这行代码: string[] ids = Request.Params[“service”].Split(“,”); Request.Params[“service”]中的值为: “1,2” 我为什么得到: Error 1 The best overloaded method match for ‘string.Split(params char[])’ has some invalid arguments Error 2 Argument 1: cannot convert from ‘string’ to ‘char[]’ 这对我来说毫无意义…. 错误发生在等号右侧的所有内容上